天天看点

Docker基础详解!Docker中的镜像管理分析Docker ImageDocker Registry

Docker Image

  • Docker镜像中含有启动容器所需要的文件系统及其内容,用于创建并启动Docker容器
  • 采用分层构建机制: 最底层为bootfs, 其次为rootfs
    • bootfs: (lxc, aufs/btrfs,kernel)
      • 用于系统引导的文件系统
      • 包括bootloader和kernel
      • 容器启动完成后会被卸载以节约内存资源
    • rootfs: 位于bootfs之上,表现为Docker容器的根文件系统 (/dev, /proc, /bin, /etc, /usr, /tmp)
      • 在传统模式中,系统启动之时,内核挂载rootfs时,会首先挂载为"只读"模式 ,完整性自检完成后重新挂载为读写模式
      • 在Docker中,rootfs由内核挂载为"只读"模式,然后通过"联合挂载"技术额外挂载一个"可写"层

Docker Image Layer

Docker基础详解!Docker中的镜像管理分析Docker ImageDocker Registry
  • 位于下层的镜像为父镜像parent image
  • 最底层的为基础镜像base image
  • 最上层为"可读写"层,下面都是"只读"层

Aufs

  • aufs: advanced multi-layered unification filesystem,高级多层统一文件系统
  • 用于为Linux文件系统实现 "联合挂载"
  • aufs是UnionFS的重新实现
  • Docker最初使用aufs作为容器文件系统层,目前作为存储后端之一来支持
  • Docker的分层镜像,在aufs之外还支持btrfs,devicemapper和vfs等
    • 在Ubuntu系统下,Docker默认使用Ubuntu的aufs
    • 在CentOS7下,Docker使用的是devicemapper
目前,overlayfs逐渐代替了aufs,overlayfs从3.18版本开始合并到Linux内核中

Docker Registry

  • 启动容器时 ,Docker Daemon会从本地获取相关镜像
  • 本地镜像不存在时,就从Registry中下载该镜像并保存到本地
Docker基础详解!Docker中的镜像管理分析Docker ImageDocker Registry

继续阅读