溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker怎么刪除image

發(fā)布時(shí)間:2022-05-31 11:27:46 來源:億速云 閱讀:140 作者:iii 欄目:大數(shù)據(jù)

這篇“Docker怎么刪除image”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Docker怎么刪除image”文章吧。

docker中刪除images的命令是docker rmi,但有時(shí)候執(zhí)行此命令并不能刪除images

[yaxin@ubox ~]
$docker images
repository     tag         image id      created       virtual size
eg_sshd       latest       ed9c93747fe1    45 hours ago    329.8 mb
centos65      latest       e55a74a32125    2 days ago     360.6 mb
[yaxin@ubox ~]$docker rmi ed9c93747fe1
untagged: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
[yaxin@ubox ~]$docker images
repository     tag         image id      created       virtual size
<none>       <none>       ed9c93747fe1    45 hours ago    329.8 mb
centos65      latest       e55a74a32125    2 days ago     360.6 mb

可以看出,image并沒有被刪除,只是他的tag被刪除了,再次執(zhí)行docker rmi image_id只會(huì)報(bào)錯(cuò)

[yaxin@ubox ~]
$docker rmi ed9c93747fe1
error: image_delete: conflict, ed9c93747fe1 wasn't deleted
2014/03/22 15:58:27 error: failed to remove one or more images

查看docker的幫助會(huì)發(fā)現(xiàn)有兩個(gè)與刪除有關(guān)的命令rm和rmi

rm remove one or more containers
rmi remove one or more images

這里有兩個(gè)不同的單詞,images和container。其中images很好理解,跟平常使用的虛擬機(jī)的鏡像一個(gè)意思,相當(dāng)于一個(gè)模版,而container則是images運(yùn)行時(shí)的的狀態(tài)。docker對(duì)于運(yùn)行過的image都保留一個(gè)狀態(tài)(container),可以使用命令docker ps來查看正在運(yùn)行的container,對(duì)于已經(jīng)退出的container,則可以使用docker ps -a來查看。 如果你退出了一個(gè)container而忘記保存其中的數(shù)據(jù),你可以使用docker ps -a來找到對(duì)應(yīng)的運(yùn)行過的container使用docker commit命令將其保存為image然后運(yùn)行。

回到之前的問題,由于image被某個(gè)container引用(拿來運(yùn)行),如果不將這個(gè)引用的container銷毀(刪除),那image肯定是不能被刪除。

所以想要?jiǎng)h除運(yùn)行過的images必須首先刪除它的container。繼續(xù)來看剛才的例子,

[yaxin@ubox ~]
$docker ps -a
container id    image        command        created       status       ports          names
117843ade696    ed9c93747fe1    /bin/sh -c /usr/sbin  46 hours ago    up 46 hours     0.0.0.0:49153->22/tcp  test_sshd

可以看出ed9c93747fe1的image被117843ade696的container使用著,所以必須首先刪除該container

[yaxin@ubox ~]
$docker rm 117843ade696
error: container_delete: impossible to remove a running container, please stop it first
2014/03/22 16:36:44 error: failed to remove one or more containers

出現(xiàn)錯(cuò)誤,這是因?yàn)樵揷ontainer正在運(yùn)行中(運(yùn)行docker ps查看),先將其關(guān)閉

[yaxin@ubox ~]
$docker stop 117843ade696
117843ade696
[yaxin@ubox ~]
$docker rm 117843ade696
117843ade696
[yaxin@ubox ~]$docker rmi ed9c93747fe1
deleted: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
deleted: c8a0c19429daf73074040a14e527ad5734e70363c644f18c6815388b63eedc9b
deleted: 95dba4c468f0e53e5f1e5d76b8581d6740aab9f59141f783f8e263ccd7cf2a8e
deleted: c25dc743e40af6858c34375d450851bd606a70ace5d04e231a7fcc6d2ea23cc1
deleted: 20562f5714a5ce764845119399ef75e652e23135cd5c54265ff8218b61ccbd33
deleted: c8af1dc23af7a7aea0c25ba9b28bdee68caa8866f056e4f2aa2a5fa1bcb12693
deleted: 38fdb2c5432e08ec6121f8dbb17e1fde17d5db4c1f149a9b702785dbf7b0f3be
deleted: 79ca14274c80ac1df1333b89b2a41c0e0e3b91cd1b267b31bef852ceab3b2044
[yaxin@ubox ~]$docker images
repository     tag         image id      created       virtual size
centos65      latest       e55a74a32125    2 days ago     360.6 mb

可以看出,image已經(jīng)被刪除。

以上就是關(guān)于“Docker怎么刪除image”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI