Docker鏡像-刪除鏡像


因為嘗試使用新的鏡像,對原來的鏡像進行刪除,報錯如下:

 

意思就是在刪除鏡像之前,要先刪除對應的docker.因為該image被對應的container引用,所以image刪除失敗。

顯示所有狀態的容器  docker ps -a   /   docker container ls -a

 

然后清理所有終止狀態的容器  docker container prune

 

 

然后刪除鏡像



也可以根據提示來的,加-f強制刪除鏡像。
順便提一下,docker命令:
1.docker rm <容器ID或容器名>
2.docker stop<容器ID或容器名>

引申:1.如何刪除所有容器;2.如何刪除所有容器鏡像,3.在創建鏡像時會產生很多的中間鏡像,這部分鏡像是一起刪除的嗎?none鏡像?

1.  docker rm $(docker ps -q) 可以刪除所有容器

這里docker ps 的命令包括:
1)-a 列出所有容器
2)-l 列出最新創建容器
3)-n=2 列出最近創建的2個容器
4)-q 僅列出容器ID
5)-s 顯示容器大小

6)  rm -f 強制刪除
所以docker ps -aq 相當於列出所有的容器ID,然后docker rm它們

 

但是要注意的是,如果容器正在運行是無法刪除,需要先停止:

docker stop $(docker ps -aq)

2.刪除鏡像也如此 

 docker rmi $(docker ps -aq) 或者 docker image rm 選項(id ,名字....)



3.如果想要刪除沒有打tag的none鏡像:

Docker rmi $(docker images -a|grep none|awk '{print $3}')


也可以寫成:

docker ps -a |grep none }awk '{print $1}'|xargs docker rmi

通過xagrs傳入參數
有些什么情況會產生none的鏡像?
1)在鏡像創建過程中創建失敗,會產生無效的none鏡像
2)pull鏡像。鏡像的垂直父子關系
3)使用dockerfile文件創建鏡像,重新生成,新的鏡像名賦給后者,前面的鏡像名字為none

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM