如何清理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映像位置?