2017-03-20 69 views
2

我在我的服務器上設置了docker。我使用詹金斯的CI。那些工具非常酷。但是,不幸的是,我仍然無法弄清楚如何讓浪費的空間回來。如何釋放碼頭使用的浪費空間?

我嘗試了不同的事情,提出了在網絡上,並通過使用它們,我只能釋放一部分浪費的空間。我不需要任何歷史記錄等。

我嘗試了不同的東西,比如粗魯的docker rm $(docker ps -aq)docker rmi $(docker images -q),同時一些容器正在運行,以防止它們被刪除。

我也試過這個腳本和類似的。

#!/bin/bash 

# remove exited containers: 
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v 

# remove unused images: 
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi 

# remove unused volumes: 
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
    docker ps -aq | xargs docker inspect | jq -r '.[] | .Mounts | .[] | .Name | select(.)' 
) | xargs -r rm -fr 

我希望在首次構建所有圖像後,我通過應用上面的清理命令來固定這些東西的大小。換句話說,我希望隨後的構建與清理應用不會使浪費的空間增長。

但無論如何,碼頭構建的每個執行都佔用了新的空間,我無法釋放。

目錄/ var/lib/docker/overlay不斷增長,最終沒有考慮我的清理工作。

我在哪裏錯了?

+0

docker build創建圖像,發佈'docker圖像'也許您有許多未使用的圖像? – user2915097

+0

不,上面的腳本刪除未使用的圖像,我看到它,如果我有任何 – 4xy

回答

0

爲了刪除卷使用:

docker volume prune 

爲了消除網絡使用:

docker network prune 

爲了消除所有停止容器使用:

docker container prune 

爲了移除未使用的圖像,請使用:

docker image prune 
+0

不幸的是,我有一箇舊版本的碼頭:碼頭版本1.12.1,建立23cf638。對不起,我離開了... – 4xy

相關問題