overlay2如何将容器与存储合并内容的文件夹相关联

时间:2018-11-24 07:18:12

标签: image docker

根据Docker文档,我将深入研究overlay2 FS。 https://docs.docker.com/storage/storagedriver/overlayfs-driver/#image-and-container-layers-on-disk-1

从Docker 1.10开始,它不再使用映像ID来标识映像层。

我可以使用命令“ docker inspect --format {{.Id}} ContainerName`”找到容器ID。在文档中,它提到我们可以在目录/ var / lib / docker / overlay2中看到容器文件夹,并在容器文件夹的“ lower-id”文件中看到图像文件夹。但是,我在/ var / lib / docker / overlay2中看不到相应的目录。相反,/ var / lib / docker / containers / Container-ID中有一个。目前,我无法找到容器的下层(图像)。

命令“ find。-name”“容器内的任何文件名”可用于在/ var / lib / docker / overlay2中定位文件夹,但这不是查看它的好方法。

请帮助找出找到它的方法。谢谢。

2 个答案:

答案 0 :(得分:0)

只需弄清楚,您就可以使用docker image inspect ImageName来检查图层。谢谢。

答案 1 :(得分:0)

尝试一下(不是最好的输出,但是有效)

TOP_STORAGE=$(du -hs /var/lib/docker/overlay2/* | grep -Ee '^[0-9]{3}[M]+|[0-9]G' | sort -h |tail -n 10 |tee -a /dev/stderr |awk '{print $2}'|xargs|sed 's/ /|/g')

docker inspect $(docker ps -q) | jq '.[]|.Config.Hostname,.Config.Labels."io.kubernetes.pod.name",.GraphDriver.Data.MergedDir,.hovno' | egrep -B2 "$TOP_STORAGE"