当前位置: 首页 > 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://www.jsqmd.com/news/23981/

相关文章:

  • 【中份薯条】雷柏MT760上手改装
  • 软件测试和DevOps的关系
  • PyPDF无限循环漏洞CVE-2025-62707技术分析
  • 重组蛋白技术概述
  • 题解:luogu P4948 数列求和
  • 关于springboot+Servlet报错404的问题
  • 10.27 CSP-S模拟40 改题记录
  • Codechef Painting Tree 题解 [ 蓝 ] [ 树形 DP ] [ 概率期望 ] [ 分类讨论 ]
  • Linux运行命令三种方式对比
  • P14322 「ALFR Round 11」E 空崎ヒナ 题解 (markdown)
  • 详细介绍:论文阅读 (1) :Control Flow Management in Modern GPUs
  • 公众号排版2025年权威推荐:揭秘有一云AI编辑器为何高效?
  • P14322 「ALFR Round 11」E 空崎ヒナ 题解
  • [题解]P7074 [CSP-J 2020] 方格取数
  • 昨天线下赛的复盘
  • 10 27
  • 同余最短路学习报告
  • 打包exe出错了:
  • 19 lambda表达式的简化过程
  • 详细介绍:Redis多租户资源隔离方案:基于ACL的权限控制与管理
  • 二分查找边界
  • 求解 LCA 的三种方法及其比较
  • 策略模式优化if-else
  • 捐赠
  • 学习笔记:重链剖分
  • P3232 [HNOI2013] 游走
  • FRP 后端无法获取请求者IP解决方案
  • 正睿 2025 NOIP 20连测 Day9
  • 计算几何初步:CCW 与判断两线段的相交性
  • 如何选择合适的团队共享网盘?坚果云、亿方云等15款产品横向测评