docker核心技术
namespaces、control groups、union Filesystem
namespace clone
父进程 子进程 ,相互隔离
clone函数
子进程下修改hostname ipcmk 不影响父进程的资源,相互隔离
但是这是,ls / 还是一项
cone_newuts | clone_newipc | clone_newpid | clone_newns | sigchld
change_root
system("mound -t proc proc /proc")
fchdir
chroot(".")
namespaces
namespace 1 namespace2
veth1-------------------- veth2
不同的 container network之间相互通信
docker attach 进入到容器里面
linux 虚拟网桥
ip router
nat转换 8。8。8。8
namespace隔离资源
control groups 闲置资源,网速cpu,memory
Cgroup on /sys/fs/cgroup/(pids memory cpu devices blklo
内核空间,network,网卡驱动,屏蔽了底层了东西,上层统一接口,
Cgroup,创建文件夹,写文件,内核中很复杂,内核的逻辑,
示例
vfs
CPU子系统是通过linux CFS调度器实现的。红黑树。
联合文件系统
把不同而目录联合到同一个目录下面
mount -t aufs -o br=-a:b none union
unmount union/
copy on write技术
docker 很容易进行 横向扩展
所有的配置文件依赖,一下子弄好,
卷映射