docker 镜像 - GraphDriver 的合并/diff/work/LowerDir 组件

问题描述 投票:0回答:1

下面是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
表示什么?

docker filesystems
1个回答
17
投票

LowerDir:这些是覆盖文件系统的只读层。对于 docker 来说,这些是按顺序组装的图像层。

UpperDir:这是覆盖文件系统的读写层。对于 docker,这相当于容器特定层,其中包含该容器所做的更改。

WorkDir:这是覆盖所需的目录,需要一个空目录供内部使用。

MergedDir:这是覆盖文件系统的结果。运行容器时,Docker 会有效地 chroot 进入此目录。

有关覆盖文件系统的更多信息(overlay2 是较新的版本,但我不相信有任何用户可见的更改),请参阅内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs .txt

© www.soinside.com 2019 - 2024. All rights reserved.