1. 程式人生 > >linux docker刪除映象

linux docker刪除映象

之前的沒有接觸的docker,找了些文件,按部就班的在linux下安裝部署起來docker,並執行一起(簡單入門),後面自己又操作了一通,發現鏡好多映象檔案,每個大約700M+的大小,


因為很多都是無效的,所以想刪除這些映象,經過嘗試,下列方式有效

1.執行“docker stop $(docker ps -a -q)”  用來停止停止所有的container


2.docker images 檢視映象列表

3.docker rmi 147051a21fd9 刪除上圖的第二個映象147051a21fd9 為IMAGE_ID


4.docker images再次檢視映象列表,發現被刪除


==========================後續(重要!!!)=====================

後面又嘗試刪除eacdy/test1這個映象時,發生錯誤,如下圖:


即使執行停止所有容器命令,也刪除失敗。那就停容器吧


停容器後,繼續執行 docker rmi c218b729bf73,還是繼續報上邊同樣的錯誤。

決定檢視一下所有的映象檔案,docker images -a


看到結果,瞬間崩潰了。。。之好繼續上網查詢,終於發現了一篇解決此類問題的文章,命令是:

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

執行完畢後,再去刪除映象檔案


上述命令 還解決了我在刪除映象檔案時的一個報錯:Error response from daemon: conflict: unable to delete 0138793f7e1f (cannot be forced) - image has dependent child images