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/