真是有段時間沒搞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環境下,還沒搞過,這兩天研究下。