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

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

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

文章写的不是很严谨,欢迎来喷,另外该文后续有更新的,请到原文地址查看更新。

http://xiaorui.cc/?p=1136

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

[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

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

docker rmi (docker images | awk '/^<none>/ { print3 }')
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他。 但是会发现还是不行…. 

[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应该是它想他的容器是有关系的..    反正是解决了,下面是写得批量删除的命令. 


补充:   引起上面的原因是docker官方要求,docker rmi image_id 只能删除未被使用的image .


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

这样清空掉残余的容器后,再删除images就没有异常的提示了。 


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

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


大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码,感谢!
另外再次标注博客原地址  xiaorui.cc

15 Responses

  1. YYY 2016年11月16日 / 上午10:22

    搞坏服务器那人是不是傻

  2. sky 2016年6月23日 / 下午4:16

    很给力。。-f 才删除了

  3. ≮噬灵傀儡≯ 2016年4月1日 / 上午11:18

    楼主这个实测真心有效,残余镜像全部清空了,只可惜我自制的dockerfile基础镜像制作了总有点错误,然后就是启动不了。。。好心塞啊

  4. 不做 2016年1月20日 / 上午10:30

    原因你还没有清楚吗?

  5. 叛逆风 2015年4月28日 / 下午2:21

    顶一个,博主说的方法很有用

  6. pillkeytunal 2015年3月27日 / 上午7:33

    有意思,写博客也是有风险的。 赞一个

  7. yoyo 2015年3月26日 / 下午3:54

    就一傻逼,别搭理。

  8. xxx 2015年3月16日 / 下午9:34

    垃圾东西不会别乱写,搞得老子服务器都坏了,早死早投胎你

    • 一个自由的人 2015年3月17日 / 上午9:45

      傻逼? 看这文章都能搞坏服务器,智商有问题呀

    • 峰云就她了 2015年3月17日 / 上午11:32

      你妹呀,不至于吧 …. 你个被操软蛋。。。 文章哪里不对了?就一个删除none操作,还能把服务器搞挂?

    • aa 2016年5月18日 / 下午6:24

      你智商有问题吧?

      • 峰云就她了 2016年5月18日 / 下午9:04

        xxx, 那哥们智商是有问题. 虽然这个文章写了很久,技术可能过时,但不至于搞坏服务器吧?

  9. 操你妹 2015年3月16日 / 下午9:30

    ddd

峰云就她了进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注