在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}'`
网友评论