docker映像-GraphDriver的merged / diff / work / LowerDir组件

时间:2019-06-11 19:55:12

标签: docker filesystems

下面是redis图片的清单文件条目摘要(docker inspect immage 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表示什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

MergedDir :这是覆盖文件系统的结果。运行容器时,Docker有效地将root chroot到该目录。

有关覆盖文件系统的更多信息(overlay2是较新的发行版,但我认为用户看不到任何变化),请参阅内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt