自動清除Docker的none映象

2020-08-14 13:08:38

在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}'

博主:測試生財

座右銘:用測試完成原始積累,用投資奔向財務自由

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

部落格園:https://www.cnblogs.com/qa-freeroad/

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