docker 图片 - merged/diff/work/LowerDir GraphDriver 组件
docker image - merged/diff/work/LowerDir components of GraphDriver
下面是redis镜像的manifest文件入口片段(docker inspect image redis
)
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/bd512eb256c8aa56cbe9243d440a311820712d1a245fe6f523d39d19cd6c862d/diff:/var/lib/docker/overlay2/7fa1e90f35c78fc83c3a
4b86e36e45d742383b394adf9ce4cf9b339d919c9cbe/diff:/var/lib/docker/overlay2/2c1869386b5b8542959da4f0173a5272b9703326d619f27258b4edff7a1dbbf9/diff:/var/lib/docker/overlay2
/23ba3955c5b72ec17b9c409bd5233a3d92cbd75543c7d144b364f8188765788e/diff:/var/lib/docker/overlay2/87d8a92919103e8ff723221200acb36e17c611fa499571ab183d0f51458e6f24/diff",
"MergedDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/merged",
"UpperDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/diff",
"WorkDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/work"
},
"Name": "overlay2"
},
其中 overlay2
文件系统被 docker 图像和容器使用。
在 GraphDriver
清单条目中,
LowerDir
/ MergedDir
/ UpperDir
/ WorkDir
表示什么?
LowerDir:这些是覆盖文件系统的 read-only 层。对于 docker,这些是按顺序组装的图像层。
UpperDir:这是覆盖文件系统的 read-write 层。对于 docker,这相当于包含容器所做更改的容器特定层。
WorkDir: 这是覆盖所需的目录,它需要一个空目录供内部使用。
MergedDir:这是覆盖文件系统的结果。 Docker 当 运行 容器时有效地 chroot 到这个目录。
有关覆盖文件系统的更多信息(overlay2 是较新的版本,但我认为没有任何用户可见的更改),请参阅内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt
下面是redis镜像的manifest文件入口片段(docker inspect image redis
)
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/bd512eb256c8aa56cbe9243d440a311820712d1a245fe6f523d39d19cd6c862d/diff:/var/lib/docker/overlay2/7fa1e90f35c78fc83c3a
4b86e36e45d742383b394adf9ce4cf9b339d919c9cbe/diff:/var/lib/docker/overlay2/2c1869386b5b8542959da4f0173a5272b9703326d619f27258b4edff7a1dbbf9/diff:/var/lib/docker/overlay2
/23ba3955c5b72ec17b9c409bd5233a3d92cbd75543c7d144b364f8188765788e/diff:/var/lib/docker/overlay2/87d8a92919103e8ff723221200acb36e17c611fa499571ab183d0f51458e6f24/diff",
"MergedDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/merged",
"UpperDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/diff",
"WorkDir": "/var/lib/docker/overlay2/e503ed41978e99fe9b71a4225763a40b7988e9a4f31d4c06ef1ec1af46b0b6ab/work"
},
"Name": "overlay2"
},
其中 overlay2
文件系统被 docker 图像和容器使用。
在 GraphDriver
清单条目中,
LowerDir
/ MergedDir
/ UpperDir
/ WorkDir
表示什么?
LowerDir:这些是覆盖文件系统的 read-only 层。对于 docker,这些是按顺序组装的图像层。
UpperDir:这是覆盖文件系统的 read-write 层。对于 docker,这相当于包含容器所做更改的容器特定层。
WorkDir: 这是覆盖所需的目录,它需要一个空目录供内部使用。
MergedDir:这是覆盖文件系统的结果。 Docker 当 运行 容器时有效地 chroot 到这个目录。
有关覆盖文件系统的更多信息(overlay2 是较新的版本,但我认为没有任何用户可见的更改),请参阅内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt