Docker 镜像是由文件系统叠加而成.

    • 最底端是一个引导文件系统, bootfs
      • 当一个容器启动后, 它将被移到内存中, 而引导文件系统被卸载 (unmount), 以留出更多内存供 initrd 磁盘镜像使用
    • 第二层是 root 文件系统, rootfs
      • rootfs 可以是一种或多种操作系统 (Debian, Ubuntu)
      • rootfs 永远是只读状态
      • Docker 利用联合加载 (union mount) 技术又会在 root 文件系统层上加载更多的只读文件系统. Docker 将这样的文件系统称为镜像
        • 位于下面的镜像称为父镜像 (parent image)
        • 最底下的镜像称为基础镜像 (base image)
        • Docker 会在该镜像的最顶层加载一个读写文件系统 (我们的程序在该层)

    image.png

    • 写时复制 (copy on write)
    • 镜像分层框架 (image-layering framework)

    image.png