yuanxiaojiang
人的放纵是本能,自律才是修行

chroot技术(容器底层使用了chroot技术)

chroot是一种通过改变进程的根目录来创建隔离文件系统环境的技术

ldd命令用于显示二进制可执行文件或共享库所依赖的所有动态链接库

# 1.创建工作目录
[root@docker02 ~]# mkdir -p /root/yuanxiaojiang
# 2.拷贝bash程序
[root@docker02 ~]# mkdir -p /root/yuanxiaojiang/bin
[root@docker02 ~]# cp /bin/bash /root/yuanxiaojiang/bin/
# 3.拷贝bash程序的依赖环境
[root@docker02 ~]# ldd /bin/bash
    linux-vdso.so.1 =>  (0x00007ffc655cf000)
    libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f99feae0000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f99fe8dc000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f99fe50e000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f99fed0a000)
[root@docker02 ~]# mkdir -p /root/yuanxiaojiang/lib64
cp /lib64/libtinfo.so.5 /root/yuanxiaojiang/lib64/
cp /lib64/libdl.so.2 /root/yuanxiaojiang/lib64/
cp /lib64/libc.so.6 /root/yuanxiaojiang/lib64/
cp /lib64/ld-linux-x86-64.so.2 /root/yuanxiaojiang/lib64/
# 4.拷贝ls程序及其依赖环境
[root@docker02 ~]# which ls
/usr/bin/ls
[root@docker02 ~]# cp /usr/bin/ls /root/yuanxiaojiang/bin/
[root@docker02 ~]# ldd /root/yuanxiaojiang/bin/ls 
cp /lib64/libselinux.so.1 /root/yuanxiaojiang/lib64/
cp /lib64/libcap.so.2 /root/yuanxiaojiang/lib64/
cp /lib64/libacl.so.1 /root/yuanxiaojiang/lib64/
cp /lib64/libc.so.6 /root/yuanxiaojiang/lib64/
cp /lib64/libpcre.so.1 /root/yuanxiaojiang/lib64/
cp /lib64/libdl.so.2 /root/yuanxiaojiang/lib64/
cp /lib64/ld-linux-x86-64.so.2 /root/yuanxiaojiang/lib64/
cp /lib64/libattr.so.1 /root/yuanxiaojiang/lib64/
cp /lib64/libpthread.so.0 /root/yuanxiaojiang/lib64/

# 5.改变根目录
[root@docker02 ~]# chroot /root/yuanxiaojiang/
bash-4.2# export PATH=/bin:/usr/bin
bash-4.2# ls -l

# 6.启动一个新的容器
[root@docker02 ~]# cp  -r /root/yuanxiaojiang /root/yuanxiaojun
# 启动一个新容器(终端一)
[root@docker02 ~]# chroot /root/yuanxiaojiang/
bash-4.2# echo "xixi" >/xixi.log
bash-4.2# ls -l
-rw-r--r-- 1 0 0   5 Oct 27 13:37 xixi.log
# 启动一个新容器(终端二)
[root@docker02 ~]# chroot /root/yuanxiaojun/
bash-4.2# echo "haha" >/haha.log
bash-4.2# ls -l
-rw-r--r-- 1 0 0   5 Oct 27 13:40 haha.log

# 两个容器数据存放位置(宿主机位置)
[root@docker02 ~]# ls /root/yuanxiaojiang/
bin  lib  lib64  xixi.log
[root@docker02 ~]# ls /root/yuanxiaojun/
bin  haha.log  lib  lib64

 

posted on 2025-10-27 21:45  猿小姜  阅读(0)  评论(0)    收藏  举报

levels of contents