我刚注意到笔记本电脑上的磁盘空间不足。 Docker使用了很多mate-disk-usage-analyzer
:
docker/aufs/diff
文件夹包含以-removing
结尾的152个文件夹。
我已经运行了以下命令来清理
Kill all running containers:
# docker kill $(docker ps -q)
Delete all stopped containers
# docker rm $(docker ps -a -q)
Delete all images
# docker rmi $(docker images -q)
Remove unused data
# docker system prune
And some more
# docker system prune -af
但是我执行了这些命令后,拍摄了截图。
什么是docker/aufs/diff
,为什么会消耗这么多空间?如何清理它?
我有Docker版本17.06.1-ce,build 874a737。它发生在清理之后,所以这绝对是一个问题。
答案 0 :(得分:21)
以下是一个彻底的解决方案。 IT DELETES ALL 您的DOCKER STUFF。包括音量。
$ sudo su
# service docker stop
# cd /var/lib/docker
# rm -rf *
# service docker start
有关详细信息,请参阅https://github.com/moby/moby/issues/22207#issuecomment-295754078
在您的情况下,泊坞窗位置可能会有所不同。您可以使用磁盘使用情况分析器(例如mate-disk-usage-analyzer
)来查找最需要空间的文件夹。
答案 1 :(得分:9)
此目录是使用AUFS存储驱动程序时存储容器rootfs层的位置(默认情况下,如果加载了AUFS内核模块)。
如果你有一堆*-removing
dirs,这是由于删除尝试失败造成的。这可能由于各种原因而发生,最常见的是unmount
因device or resource busy
而失败。
在Docker 17.06之前,如果您使用docker rm -f
删除容器,即使在容器清理中某处出现了某些错误(例如,未能删除rootfs层),也会删除所有容器元数据。
在17.06中,它将不再删除容器元数据,而是将容器标记为Dead
状态,以便您可以尝试再次将其删除。
你可以安全地删除这些目录,但我会先停止docker,然后删除,然后启动docker备份。
答案 2 :(得分:1)
docker将大量演出分为三个主要领域:
检查下载和编译的图像。 通过运行以下命令来清理未使用和无效的图像
$ docker image修剪-a
Docker创建了大量的卷,其中一些卷来自死容器,不再使用 清理体积并使用
回收空间 $ docker system prune -af &&
docker image prune -af &&
docker系统prune -af --volumes &&
docker系统df
Docker容器日志在生成GB日志方面也非常臭名昭著 容器层的overlay2存储也是吞噬GB的另一个来源。 一种更好的方法是计算docker映像的大小,然后按照以下存储和日志上限说明来限制docker容器。 对于这些功能,请使用docker V19及更高版本。
$ docker run -it-存储选择大小= 2G --log-opt模式=非阻塞--log-opt最大缓冲区大小= 4m浅顶软呢帽/ bin / bash
答案 3 :(得分:0)
我有同样的问题。 就我而言,解决方案是:
查看所有图像:
docker图片
删除旧的未使用的图像:
docker rmi IMAGE_ID
可能您需要修剪已停止的容器:
docker容器修剪
p.s。 docker --help是一个很好的解决方案:)
答案 4 :(得分:0)
请注意,这实际上是一个已知问题,但仍未解决:https://github.com/moby/moby/issues/37724 如果您遇到相同的问题,我建议在GitHub上“竖起大拇指”该问题,以便尽快解决。