文件系统
union FS
联合文件系统,会把多个目录组合成一个展会
docker 的文件系统
- bootfs,
- bootloader 引导加载kernel
- Kernel加载到内存以后再umount bootfs
- rootfs
- 不同的linux发行版,bootfs基本一致,rootfs会有差别
- /dev/proc等标准目录和文件
- 共享宿主bootfs,有自己的rootfs
docker启动
- 将rootfs以readonly方式加载,然后利用union mount将一个rw文件系统挂载到readonly的rootfs上
- 写时复制
- 用时分配
overlayfs 容器存储驱动
- 之前不在kernel里,后来加到了kernel中,主要是文件系统分层,上层和下层,以及合并层,如果一个文件存在于上下两层,那么合并层映射的是上层那个
//openlayFS操作
mkdir upp low merge worke
echo up > ./up/up
echo low > ./up/low
echo low > ./up/merge
echo up > ./up/merge
echo low > ./low/merge
mount -t overlay overlay -o lowerdir=`pwd`/low,upperdir=`pwd`/up,workdir=`pwd`/work `pwd`/merge
docker 引擎
- docker daemon启动,做一个守护进程
- 然后启动containerd进程
- 每个容器的父进程是一个shim进程,shim的父进程是systemd,这样可以单独升级docker和containerd,不会导致下面的进程中断
网友评论