2017-03-07 73 views
0

我在/ var/lib/docker/aufs文件夹中有很多空间(分区已满)。Docker不会释放干净操作上的空间

我已经清理我的卷带:

docker volume rm $(docker volume ls -qf dangling=true) 

清理图片提供:

docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 

但在/var/lib/docker/aufs文件夹没有影响。

任何想法? 谢谢

回答

2

docker volume ls -qf dangling=true列出当前未分配给容器的卷。可能有卷仍在使用中,因此不是所有卷都将被此命令删除。我个人避免使用此命令进行清理,因为它可能会删除当前未使用的卷,但会有稍后要装入容器的重要数据。

docker images --filter "dangling=true" -q --no-trunc列出未加标签的图像。导致这种情况的最可能原因是拉取或构建本地计算机上已有的旧图像的新版本。它不会清除您已经拉出或构建的所有图像,仍然有标记,但不要使用。

这些命令都不能清理可能会被停止和不再需要的容器。为此,您需要查看docker ps -af status=exited以查看哪些容器未运行,并且可以使用docker rm删除。脚本,看起来像:

docker rm $(docker ps -aqf status=exited) 

随着1.13版本中,你就可以执行:

docker system prune 

将清理一切,或者你可以更具体的,干净的某些片段,如:

docker container prune 
docker image prune 
docker volume prune 

docker image prune命令可以采用选项-a还可以删除所有未使用的图像,而不仅仅是悬挂的图像。