虛懸鏡像
倉庫名、標籤均爲 的鏡像被稱爲虛懸鏡像,一般來說,虛懸鏡像已經失去了存在的價值,是可以隨意刪除的。
造成虛懸鏡像的原因:
原因一:
原本有鏡像名和標籤的鏡像,發佈了新版本後,重新 docker pull *** 時,舊的鏡像名被轉移到了新下載的鏡像身上,而舊的鏡像上的這個名稱則被取消,從而稱爲了 ;
原因二:
docker build 同樣可以導致這種現象。
查看所有虛懸鏡像
$ docker image ls -f dangling=true
刪除所有虛懸鏡像
$ docker image prune
中間層鏡像
爲了加速鏡像構建、重複利用資源,Docker 會利用中間層鏡像。默認的 docker image ls 列表中只顯示頂層鏡像,如果希望顯示包括中間層鏡像在內的所有鏡像的話,需要加 -a 參數。
$ docker iamge ls -a
這樣會看到很多無標籤的鏡像,與之前的虛懸鏡像不同,這些無標籤的鏡像很多都是中間層鏡像,是其它鏡像所依賴的鏡像。這些無標籤鏡像不應該被刪除,否則會導致上層鏡像因爲依賴丟失而出錯。實際上,這些鏡像也沒必要刪除,因爲之前說過,相同的層只會存在一遍,而這些鏡像是別的鏡像的依賴,因此並不會因爲他們被列出來而多存一份,無論如何你也會需要它們。只要刪除那些依賴它們的鏡像後,這些依賴的中間層鏡像也會被連帶刪除。