在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
微信公眾號:測試生財(定期分享獨家內容和資源)