真是有段时间没搞Docker了,咱们大部门的业务基本docker化了… … 确实是个好东西,我如今更多的是应用docker,具体的维护运维仍是交给运维的朋友们… … docker
说正题,今天遇到的问题是本身在开发机作坏了几个image镜像,删不了 我想你们也遇到过这样相似的问题 ….服务器
他的名字和tag都是为none,空… 之前看过一个帖子说,给他标记一个tag,就能够干掉,瞎扯… 运维
Pythonui
[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
而后你去批量删除的时候会提示一个问题….ip
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他。 可是会发现仍是不行…. rem
Pythonit
[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应该是它想他的容器是有关系的.. 反正是解决了,下面是写得批量删除的命令.pip
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环境下,还没搞过,这两天研究下。