镜像组织形式 链接到标题 镜像默认采用 OverlayFS 方式挂载,最终效果是将多个目录结构合并为一个。
其中 lowerdir 为只读路径,最右层级最深。最终容器运行时会将 lowerdir 和 upperdir 合并挂在为 merged,对应容器中的路径为 / 。 举例: 镜像 testadd:0.5 版本的层级挂载如下:
[root@node111 16:02:24 overlay2]$docker inspect testadd:0.5 |grep Dir "WorkingDir": "", "WorkingDir": "", "LowerDir": "/var/lib/docker/overlay2/693c140b9c70744a7a6ce93de56d3ac7549dae84195cbfac3486062d1ceaccf1/diff", "MergedDir": "/var/lib/docker/overlay2/e2f2ad8332a9567ad28495b28342b5f5712218e235b0129435abfc3c781be957/merged", "UpperDir": "/var/lib/docker/overlay2/e2f2ad8332a9567ad28495b28342b5f5712218e235b0129435abfc3c781be957/diff", "WorkDir": "/var/lib/docker/overlay2/e2f2ad8332a9567ad28495b28342b5f5712218e235b0129435abfc3c781be957/work" 运行该容器后,可以看到多了一个 overlay 方式挂载的路径:
[root@node111 16:05:53 overlay2]$mount |grep overlay /dev/md127 on /var/lib/docker/overlay2 type ext4 (rw,relatime,data=ordered) overlay on /var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/3NA23BH5OMSSXWTHGPRS6YENB7:/var/lib/docker/overlay2/l/QQVS7UVPGRBVHRZOBDPMMO4EQM:/var/lib/docker/overlay2/l/E7HTYBVD5SXSZRLVTETODOIANT,upperdir=/var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/diff,workdir=/var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/work) 查看对应关系:
[root@node111 16:05:53 overlay2]$mount |grep overlay /dev/md127 on /var/lib/docker/overlay2 type ext4 (rw,relatime,data=ordered) overlay on /var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/3NA23BH5OMSSXWTHGPRS6YENB7:/var/lib/docker/overlay2/l/QQVS7UVPGRBVHRZOBDPMMO4EQM:/var/lib/docker/overlay2/l/E7HTYBVD5SXSZRLVTETODOIANT,upperdir=/var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/diff,workdir=/var/lib/docker/overlay2/e1378dc042b534fe00ca6f4565e399f30d56c81d434a30a6137cfae6b5355d00/work) [root@node111 16:06:07 overlay2]$docker inspect testadd:0.