chroot 也属于容器隔离中使用的一项技术,以下是一个简单的通过chroot 使用alpinelinux
下载alpinelinux rootfs
curl -o alpine.tar.gz http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-minirootfs-3.10.0-x86_64.tar.gz
解压
tar xvf alpine.tar.gz
目录结构
drwxr-xr-x 2 root root 4096 6月 20 2019 bin
drwxr-xr-x 2 root root 4096 6月 20 2019 dev
drwxr-xr-x 15 root root 4096 6月 20 2019 etc
drwxr-xr-x 2 root root 4096 6月 20 2019 home
drwxr-xr-x 5 root root 4096 6月 20 2019 lib
drwxr-xr-x 5 root root 4096 6月 20 2019 media
drwxr-xr-x 2 root root 4096 6月 20 2019 mnt
drwxr-xr-x 2 root root 4096 6月 20 2019 opt
dr-xr-xr-x 2 root root 4096 6月 20 2019 proc
drwx------ 2 root root 4096 12月 25 09:55 root
drwxr-xr-x 2 root root 4096 6月 20 2019 run
drwxr-xr-x 2 root root 4096 6月 20 2019 sbin
drwxr-xr-x 2 root root 4096 6月 20 2019 srv
drwxr-xr-x 2 root root 4096 6月 20 2019 sys
drwxrwxrwt 2 root root 4096 6月 20 2019 tmp
drwxr-xr-x 7 root root 4096 6月 20 2019 usr
drwxr-xr-x 11 root root 4096 6月 20 2019 var
使用chroot
chroot /opt/dalong/alpine /bin/ls
效果
主机目录结构
几个问题
- 命令找不到
因为默认配置的环境变量不对,解决方法,添加path,如下
export PATH=$PATH:/bin:/sbin
使用命令(比如apk)效果
说明
chroot 是容器使用的一项技术,还有其他的,cgroups、namespace。。。
参考资料
https://alpinelinux.org/downloads/
https://www.howtogeek.com/441534/how-to-use-the-chroot-command-on-linux/