当前位置: 首页 > news >正文

第四篇:docker底层原理

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/bashlinux-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

 

http://icebutterfly214.com/news/452/

相关文章:

  • 10.27 CSP-S模拟40 改题记录
  • 详细介绍:Redis多租户资源隔离方案:基于ACL的权限控制与管理
  • 20251027周一日记
  • 学校协同云盘怎么选?2025年10大热门教育网盘推荐与对比
  • GPU集群之间的交互
  • CF1267G Game Relics
  • 102302115方朴第一次作业
  • 解题报告-梦熊 CSP-S2025 模拟赛T2
  • 鄙“站”麻将和算24,刷新后会换
  • 20232422 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 20232404 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 「WC2014-紫荆花之恋」题解
  • 谢谢你周医生
  • 来源未知
  • Date 10.27
  • 10.27及动手动脑
  • go包装bing搜索
  • 鼾声识别芯片方案和睡眠产品的应用场景
  • 2025年工程管理软件公司综合推荐榜:助力建筑行业数字化升级
  • Excel高性能异步导出完整方案!
  • 2025年多功能综合杆厂家排名前十推荐
  • 2025年度在线网站客服系统综合排行榜正式发布
  • JDD Oxygen智能零售论坛 | 《大模型时代的广告营销变革与实践》
  • 2025年市面上新加坡留学品牌、行业内公司及口碑产品推荐排行
  • 11-文件上传
  • TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南 - 指南
  • Navicat 17 超详细保姆级下载安装教程:附激活工具使用步骤​
  • el-date-picker样式修改
  • 浅谈 Agent 开发工具链演进历程
  • 电梯调度算法结对编程作业