日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker学习之镜像删除的Untagged 和 Deleted

發(fā)布時(shí)間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker学习之镜像删除的Untagged 和 Deleted 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

鏡像刪除的Untagged 和 Deleted

Untagged: ubuntu:14.04Deleted: sha256:a8e78858b03ba02c3df71d555f90057f890495aabc86e7a39396c68c87ed5ff2

當(dāng)我們在docker中執(zhí)行docker images命令查看到一些不想使用的鏡像或容器時(shí),會(huì)執(zhí)行docker rmi -f xxx來對相應(yīng)的目標(biāo)進(jìn)行刪除操作,但相應(yīng)的命令執(zhí)行完成后會(huì)出現(xiàn)上面的兩種情況,一種是刪除成功,另一種則只是將鏡像對應(yīng)的標(biāo)簽解除了,所以二者有何區(qū)別呢?

Untagged 和 Deleted

Untagged

我們首先都知道鏡像的唯一標(biāo)識(shí)是其 ID 和摘要,但一個(gè)鏡像可以有多個(gè)標(biāo)簽
因此當(dāng)我們使用上面命令刪除鏡像的時(shí)候,實(shí)際上是在要求刪除某個(gè)標(biāo)簽的鏡像。所以首先需要做的是將滿足我們要求的所有鏡像標(biāo)簽都取消,這就是我們看到的 Untagged 的信息。因?yàn)橐粋€(gè)鏡像可以對應(yīng)多個(gè)標(biāo)簽,因此當(dāng)我們刪除了所指定的標(biāo)簽后,可能還有別的標(biāo)簽指向了這個(gè)鏡像,如果是這種情況,那么 Delete 行為就不會(huì)發(fā)生。所以并非所有的 docker rmi 都會(huì)產(chǎn)生刪除鏡像的行為,有可能僅僅是取消了某個(gè)標(biāo)簽而已。

Delated

當(dāng)一個(gè)鏡像所有的標(biāo)簽都被取消了,該鏡像很可能會(huì)失去了存在的意義,因此會(huì)觸發(fā)刪除行為。鏡像是多層存儲(chǔ)結(jié)構(gòu),因此在刪除的時(shí)候也是從上層向基礎(chǔ)層方向依次進(jìn)行判斷刪除。鏡像的多層結(jié)構(gòu)讓鏡像復(fù)用變動(dòng)非常容易,因此很有可能某個(gè)其它鏡像正依賴于當(dāng)前鏡像的某一層。這種情況,依舊不會(huì)觸發(fā)刪除該層的行為。直到?jīng)]有任何層依賴當(dāng)前層時(shí),才會(huì)真實(shí)的刪除當(dāng)前層。所以delated命令觸發(fā)的判斷機(jī)制要比untagged要難上許多。

用 docker images 命令來配合

像其它可以承接多個(gè)實(shí)體的命令一樣,可以使用 docker images -q 來配合使用 docker rmi,這樣可以成批的刪除希望刪除的鏡像。比如刪除虛懸鏡像的指令是:

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

比如,我們需要?jiǎng)h除所有倉庫名為 redis 的鏡像:

$ docker rmi $(docker images -q redis)

或者刪除所有在 mongo:3.2 之前的鏡像:

$ docker rmi $(docker images -q -f before=mongo:3.2)

總結(jié)

以上是生活随笔為你收集整理的Docker学习之镜像删除的Untagged 和 Deleted的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。