我在我的服務器上設置了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不斷增長,最終沒有考慮我的清理工作。
我在哪裏錯了?
docker build創建圖像,發佈'docker圖像'也許您有許多未使用的圖像? – user2915097
不,上面的腳本刪除未使用的圖像,我看到它,如果我有任何 – 4xy