美文网首页
docker实现原理(二)文件系统unionFS

docker实现原理(二)文件系统unionFS

作者: mafa1993 | 来源:发表于2022-12-08 20:41 被阅读0次

    文件系统

    union FS

    联合文件系统,会把多个目录组合成一个展会

    docker 的文件系统

    1. bootfs,
      • bootloader 引导加载kernel
      • Kernel加载到内存以后再umount bootfs
    2. rootfs
      • 不同的linux发行版,bootfs基本一致,rootfs会有差别
      • /dev/proc等标准目录和文件
    3. 共享宿主bootfs,有自己的rootfs

    docker启动

    1. 将rootfs以readonly方式加载,然后利用union mount将一个rw文件系统挂载到readonly的rootfs上
    2. 写时复制
    3. 用时分配

    overlayfs 容器存储驱动

    1. 之前不在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 引擎

    1. docker daemon启动,做一个守护进程
    2. 然后启动containerd进程
    3. 每个容器的父进程是一个shim进程,shim的父进程是systemd,这样可以单独升级docker和containerd,不会导致下面的进程中断

    相关文章

      网友评论

          本文标题:docker实现原理(二)文件系统unionFS

          本文链接:https://www.haomeiwen.com/subject/imqofdtx.html