自動清除Docker的none鏡像


在docker build 或是 pull某鏡像的時候,經常會產生鏡像時候,在Docker中被稱為dangling的鏡像,特點是label為none。

大量的none鏡像會把磁盤撐爆了,導致disk full,無法進行文件的創建。

一、標簽為<none>的docker鏡像

如下就是一組none鏡像:

[root@ccg]# docker images

REPOSITORY          TAG                IMAGE ID            CREATED            VIRTUAL SIZE

centos6.5          v2                          434c6fa14315        9 seconds ago      254.8 MB

<none>              <none>              819f53017d76        56 minutes ago      254.8 MB

二、清理方式

如何清除<none>鏡像?

1.使用docker image prune

2.使用docker rmi

先說第一種

使用docker prune刪除鏡像,我們只需執行:

docker image prune -f

第二種方式:

docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'` 

另外,對應系統中異常退出的容器我們也經常需要清理

docker rm `docker ps -a | grep Exited | awk '{print $1}'` 

三、配置自動化

配置自動化刪除,在對應的機器上配置crontab

1. crontab -e

2. 添加如下指令(分別在凌晨前刪除none標簽的鏡像和異常退出的容器)

59 23 * * *  docker rmi -f  `docker images | grep '' | awk '{print $3}'`

59 23 * * *  docker rm `docker ps -a | grep Exited | awk '{print $1}'

博主:測試生財(一個不為996而996的測開碼農)

座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。

內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客園:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公眾號:測試生財(定期分享獨家內容和資源)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM