如何刪除Docker映象?
如果您已經使用Docker很長時間了,您的本地機器上可能已經存在許多未使用的映象。這些映象可能是以前下載的舊版本,或者只是您下載用於測試的映象。這些映象會不必要地佔用大量空間,並降低整體效能和體驗。此外,還有一些未使用的、懸空(dangling)的映象。
最好刪除這些舊映象,這將幫助您更好地跟蹤所有有用的映象。Docker允許您非常輕鬆地透過許多不同的命令刪除映象。您可以使用Docker rmi命令、Docker images rm命令,甚至Docker image prune命令來實現。此外,Docker允許您在這些命令中使用多個選項來策略性地刪除映象。
在本文中,我們將討論所有流行且最常用的命令,這些命令將允許您輕鬆刪除映象。
刪除Docker映象
如前所述,有幾個命令可以互換使用,以從系統中刪除一個或多個Docker映象。讓我們從最基本的命令開始。
$ docker image rm [OPTIONS] IMAGE [IMAGE...]
您還可以在此命令中使用多個選項。以下是其中最有用的一些選項。
- --force - 您可以使用此選項強制刪除映象。
- --no-prune - 如果您不想刪除未標記的映象,可以使用此選項。
請注意,您只能刪除那些沒有關聯容器的映象。如果您嘗試刪除此類映象,它將丟擲錯誤。要覆蓋此預設行為,您可以使用 --force 選項強制刪除映象。
例如,如果您想刪除帶有標籤 24 的 fedora 映象,可以使用以下命令。
$ docker image rm fedora:24
要檢查映象是否關聯了容器,可以使用以下兩個命令中的任何一個列出所有容器。
$ docker ps -a
$ docker container ls -a
如果您發現任何與該映象關聯的容器,您可以停止並刪除該容器,或者強制刪除它。
$ docker stop <container-name>
$ docker rm <container-name>
或者
$ docker rm -f <container-name>
刪除容器後,您現在可以繼續刪除映象。
使用更短的命令刪除映象
您還可以使用下面提到的另一個更短的命令來刪除映象。
$ docker rmi [OPTIONS] IMAGE [IMAGE...]
如果您不想在刪除映象之前檢查容器,可以使用 force 選項強制刪除它。
$ docker rmi -f <image-name>
此外,如果您想一次刪除多個映象,可以直接提及所有這些映象的映象ID或映象名稱,並用空格分隔。
$ docker rmi -f myimage1 myimage2 myimage2
透過修剪刪除映象
您還可以使用Docker image prune命令刪除所有懸空(dangling)映象。
$ docker image prune [OPTIONS]
您可以使用以下幾個選項:
- --all - 刪除所有未使用的和懸空(dangling)映象。
- --filter - 提供過濾器,只刪除某些特定的映象。
- --force - 強制修剪映象。
例如,如果您想刪除系統中所有未使用的映象,可以使用以下命令。
$ docker image prune --all
如果您想一次刪除所有Docker映象,這是一個好方法。還有一種方法可以同時刪除所有映象。您可以使用子命令和Docker rmi命令一起使用。考慮以下命令。
$ docker rmi -f $(docker images -aq)
在這裡,我們使用了 force 選項以及 Docker rmi 命令作為父命令。我們沒有提及映象ID或名稱,而是使用了一個子命令,該子命令使用 all 和 quiet 選項列出所有映象的映象ID。
總而言之,在本文中,我們討論了為什麼定期刪除未使用的或懸空(dangling)映象是一個好習慣。我們討論瞭如何使用三個不同的命令以及多個選項來刪除映象。我們還討論瞭如何同時刪除多個或所有映象。我們希望您現在能夠輕鬆刪除Docker映象。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP