找出一个Docker AUFS差异文件夹属于哪个容器或镜像

11

有人知道如何找到AUFS差异文件夹所属的docker容器、镜像或卷吗?

我有一个这样的遗留文件

/var/lib/docker/aufs/diff/d4f388f19d7b4e8e9eef2a4ae5630f87d59180263482fbc63dbe7d31b6c0fc5b/usr/lib/gcc/x86_64-linux-gnu/6/cc1

没有使用ID d4f388f19d7b 的任何容器、数据卷或镜像

我尝试通过检查每个容器、数据卷和镜像来查找它,但没有成功

for c in $(docker ps -q) ; do docker inspect $c | grep d4f388f19d7b ; done
回复为空

for i in $(docker images -q) ; do docker image inspect $i | grep d4f388f19d7b ; done
回复为空

for v in $(docker volume ls -q) ; do docker volume inspect $v | grep d4f388f19d7b ; done
回复为空

是否有一种简单的方法来确定哪个docker容器/数据卷/镜像拥有此文件?lsof显示该文件未被使用,因为上次访问是3个月前的旧文件。

我已经没有想法了


尝试将 docker ps -q 替换为 docker ps -aq - user2915097
1
非常感谢你的回答,我找到了将不同的文件夹映射到容器的方法。grep DIFF_FOLDER_ID /var/lib/docker/image/aufs/layerdb/mounts/*/mount-id这将给你一个容器ID,如果输出为空,则意味着它是无人照顾的或者属于Docker镜像。 - Hernan Garcia
1个回答

12

我找到了将diff文件夹映射到容器的方法

grep DIFF_FOLDER_ID /var/lib/docker/image/aufs/layerdb/mounts/*/mount-id

这会给你容器ID,如果输出为空,则意味着该容器是孤立的或属于一个docker镜像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接