Docker定時刪除none鏡像

在使用docker的時候會產生none鏡像文件,偶爾沒什麼,但是比如使用了自動化部署工具那就不一樣了,一天沒準就上百個none鏡像了,非常消耗資源,所以需要定時清理

刪除 none 鏡像命令

docker image prune -f

img.png img_1.png

刪除自動化部署中的碎片化文件

在自動化部署中 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鏡像