在使用docker的時候會產生none映象檔案,偶爾沒什麼,但是比如使用了自動化部署工具那就不一樣了,一天沒準就上百個none映象了,非常消耗資源,所以需要定時清理
刪除 none 映象命令
docker image prune -f
刪除自動化部署中的碎片化檔案
在自動化部署中 Docker 生成了很多碎片化檔案,在使用 Jenkins 自動化部署專案時,生成了很多 Images 和建立的容器,這些上面的命令不足以刪除,所以得用以下命令來刪除
docker system prune -f
注意該命令會刪除這些容器和映象,所以最好慎重選擇,當然,如果全是自動部署的容器就無所謂。
執行完後
其實這樣清除快取檔案不是最完全的方式,最完全的是把空閒的 Volumes 也一併清除(不過我怕容器在啟動過程中被自動執行了導致資料永久丟失,得不償失 所以不加這個吧)
docker system prune --volumes -f
配置自動化
既然知道了刪除 none 映象的命令,那麼就簡單了,只需要配置下 crontab 即可
crontab -e
尾部新增如下指令(表示每天 凌晨 3 點 30 分執行一次)
30 3 * * * docker system prune -f
總結
使用 docker 好像並沒有可以自動刪除的功能,不知道有沒更好的辦法,這種算是比較簡單的了,記錄一下。
本文由「誠哥部落格」原創,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:Docker定時刪除none映象