如何清理Docker
我刚刚注意到我的笔记本电脑上的磁盘空间不足。 通过mate-disk-usage-analyzer
发现Docker使用了很多:
docker/aufs/diff
文件夹包含152个以-removing
结尾的文件夹。
我已经运行了下面的命令来清理
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,编译874a737。 它发生在清理之后,所以这肯定还是个问题。
该目录是使用AUFS存储驱动程序时存储容器rootfs图层的位置(如果AUFS内核模块已加载,则为默认值)。
如果您有一堆*-removing
删除目录,这是由于删除尝试失败而导致的。 这可能因各种原因而发生,最常见的是由于device or resource busy
而导致unmount
失败。
在Docker 17.06之前,如果你使用docker rm -f
删除一个容器,即使在容器清理的某个地方出现了一些错误(例如,无法删除rootfs层),所有的容器元数据也将被删除。 在17.06年,它将不再删除容器元数据,而是将容器标记为Dead
状态,以便您可以尝试再次将其删除。
您可以安全地删除这些目录,但是我会先停止docker,然后删除,然后启动docker备份。
以下是一个彻底的解决scheme。 它会消除你的所有的东西。 包括体积 。
$ sudo su # service docker stop # cd /var/lib/docker # rm -rf * # service docker start
有关详细信息,请参阅https://github.com/moby/moby/issues/22207#issuecomment-295754078
它可能不是/ var / lib / docker
docker位置可能会有所不同,在你的情况。 您可以使用磁盘使用率分析器(如mate-disk-usage-analyzer
)来查找需要最多空间的文件夹。
请参阅主机上存储的Docker映像位置?