docker强制批量删除none的image镜像

Posted 爬虫仔蛙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker强制批量删除none的image镜像相关的知识,希望对你有一定的参考价值。

真是有段时间没搞Docker了,我们大部门的业务基本docker化了… …  确实是个好东西,我现在更多的是应用docker,具体的维护运维还是交给运维的朋友们… …  

说正题,今天遇到的问题是自己在开发机做坏了几个image镜像,删不了   我想大家也遇到过这样类似的问题  ….

http://xiaorui.cc

http://xiaorui.cc

http://xiaorui.cc

他的名字和tag都是为none,空… 以前看过一个帖子说,给他标记一个tag,就可以干掉,瞎扯…   

Python

[ruifengyun@bj-buzz-dev01 extractor_docker]$
[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                                       <none>              763e6d509697        2 minutes ago       1.123 GB
<none>                                       <none>              008ec8098c8d        21 minutes ago      471 MB

然后你去批量删除的时候会提示一个问题….

Python

docker rmi $(docker images | awk '/^<none>/  print $3 ')
Error: image_delete: Conflict, 64b4fa0cdd27 wasn't deleted
Error: image_delete: Conflict, 5a2b9b2294c3 wasn't deleted
(…略…)
2014/03/08 18:26:04 Error: failed to remove one or more images

以前的解决的方法是,docker ps -a里面找到基于image的容器 然后stop它,rm他。 但是会发现还是不行…. 

Python

[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker ps -a |grep 008ec8098c8d
f6a628cbe5e7        008ec8098c8d                              "/bin/sh -c 'pip ins   14 minutes ago      Exited (1) 13 minutes ago                                                        romantic_wozniak
81cf08a442dd        008ec8098c8d                              "/bin/sh -c 'pip ins   21 minutes ago      Exited (1) 20 minutes ago                                                        dreamy_bardeen

docker rmi  id 的时候,还是会提示删除失败,妈蛋的。 最后我选择把所有的docker ps -a里面Exited的都删除,然后再开始rmi….. 结果就可以了。。。。  想不通他们有啥关系,理论来说失败的images应该是它想他的容器是有关系的..    反正是解决了,下面是写得批量删除的命令.

Python

docker ps -a | grep "Exited" | awk 'print $1 '|xargs docker stop
docker ps -a | grep "Exited" | awk 'print $1 '|xargs docker rm
docker images|grep none|awk 'print $3 '|xargs docker rmi

清空所有异常退出后的容易,再到images删除就没有了。 

Python

[ruifengyun@bj-buzz-dev01 ~]$ docker rmi -f 9503b09c1a70
Deleted: 9503b09c1a707d29b084e18aa13ef5d66f43672e41dce4db5931cbf2a754daa1

题外话, 这两天还要研究下docker多个出口ip的方法……. 实体服务器的外网是很多,但是在docker环境下,还没搞过,这两天研究下。 


亮点在于linux shell写得挺好的额

以上是关于docker强制批量删除none的image镜像的主要内容,如果未能解决你的问题,请参考以下文章

docker强制删除none的image镜像

docker 批量删除none镜像

docker 批量删除 none 镜像

docker 批量清理删除none镜像

docker删除镜像,镜像名不为none,tag为none,删除时报错image has dependent child images解决

Docker中images中none的镜像删除