說正題,今天遇到的問題是自己在開發機做壞了幾個image鏡像,刪不了 我想大家也遇到過這樣類似的問題 ….
他的名字和tag都是為none,空… 以前看過一個帖子說,給他標記一個tag,就可以干掉,瞎扯…
[ruifengyun@bj-buzz-dev01 extractor_docker]$[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker imagesREPOSITORY 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 deletedError: 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 008ec8098c8df6a628cbe5e7 008ec8098c8d "/bin/sh -c 'pip ins 14 minutes ago Exited (1) 13 minutes ago romantic_wozniak81cf08a442dd 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 stopdocker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rmdocker images|grep none|awk '{print $3 }'|xargs docker rmi
這樣清空掉殘余的容器后,再刪除images就沒有異常的提示了。
[ruifengyun@bj-buzz-dev01 ~]$ docker rmi -f 9503b09c1a70Deleted: 9503b09c1a707d29b084e18aa13ef5d66f43672e41dce4db5931cbf2a754daa1
題外話, 這兩天還要研究下docker多個出口ip的方法……. 實體服務器的外網是很多,但是在docker環境下,還沒搞過,這兩天研究下。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選