2017-03-07 143 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還可以刪除所有未使用的圖像,而不僅僅是懸掛的圖像。