日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

docker刪除none鏡像的操作方法_docker

作者:普通網友 ? 更新時間: 2023-02-15 編程語言

docker刪除none鏡像

1、使用git bash進入到docker文件夾

2、查詢所有的none鏡像

docker images  | grep none

3、查詢所有的none鏡像的id

docker images  | grep none | awk '{print $3}'

4、刪除所有的none鏡像

docker images  | grep none | awk '{print $3}' | xargs docker rmi

docker none鏡像

有效的 none 鏡像
Docker文件系統的組成,docker鏡像是由很多 layers組成的,每個 layer之間有父子關系,所有的docker文件系統層默認都存儲在/var/lib/docker/graph目錄下,docker稱之為圖層數據庫。

最后做一個總結< none>:< none> 鏡像是一種中間鏡像,我們可以使用docker images -a來看到,他們不會造成硬盤空間占用的問題(因為這是鏡像的父層,必須存在的),但是會給我們的判斷帶來迷惑。

無效的 none 鏡像

另一種類型的 < none>:< none> 鏡像是dangling images ,這種類型會造成磁盤空間占用問題。

像Java和Golang這種編程語言都有一個內存區,這個內存區不會關聯任何的代碼。這些語言的垃圾回收系統優先回收這塊區域的空間,將他返回給堆內存,所以這塊內存區對于之后的內存分配是有用的

docker的懸掛(dangling)文件系統與上面的原理類似,他是沒有被使用到的并且不會關聯任何鏡像,因此我們需要一種機制去清理這些懸空鏡像。

我們在上文已經提到了有效的< none>鏡像,他們是一種中間層,那無效的< none>鏡像又是怎么出現的?這些 dangling鏡像主要是我們觸發 docker build 和 docker pull命令產生的。

使用下面的命令可以清理

docker rmi $(docker images -f "dangling=true" -q)

PS:docker 如何刪除none鏡像

刪除none的鏡像,要先刪除鏡像中的容器。要刪除鏡像中的容器,必須先停止容器。

$ docker images

$ docker rmi $(docker images | grep "none" | awk '{print $3}')直接刪除帶none的鏡像,直接報錯了。提示先停止容器。

$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')?//停止容器

$ docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')?//刪除容器

$ docker rmi $(docker images | grep "none" | awk '{print $3}')?//刪除鏡像

原文鏈接:https://blog.csdn.net/geejkse_seff/article/details/126327403

欄目分類
最近更新