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

这篇文章给大家分享的是有关docker如何强制批量删除none的image镜像的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

他的名字和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>/ { 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他。 但是会发现还是不行….

[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 '{print $1 }'|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如何强制批量删除none的image镜像”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。