自动清除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