如何刪除舊的Docker容器?


Docker允許您刪除對您無用的舊的和陳舊的容器。您可以使用Docker rm或Docker container rm命令來實現。但是,在開始刪除容器之前,您需要確保沒有容器正在執行。否則,Docker將丟擲錯誤。

但是,還有另一種解決方法。您也可以使用 --force 選項強制刪除Docker容器。Docker刪除命令允許您同時刪除一個或多個Docker容器。您只需要指定容器ID或其名稱即可。但是,如果您想同時刪除機器中的所有Docker容器,可以使用子命令。

在本文中,我們將討論如何使用Docker container remove命令以及您可以一起使用的所有選項。我們還將討論如何同時刪除所有容器。

Docker容器刪除

您可以使用兩種不同的Docker容器刪除命令形式來達到相同的結果。以下是這兩個命令的語法。

$ docker container rm [OPTIONS] CONTAINER [CONTAINER...]


$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

這兩個命令的工作方式相同。您可以與這些命令一起使用的選項包括:

  • --volumes - 如果您也想刪除所有關聯卷,可以使用此選項。
  • --link - 如果您要刪除的容器與其他容器有連結,並且您也希望刪除這些連結,可以使用 --link 選項。
  • --force - 如果您要刪除的容器正在後臺執行,可以使用 --force 選項來刪除此類容器,甚至無需停止它們。

現在,讓我們檢視一些示例以及您可以使用這些命令和選項的方式。

假設您有一個名為mycont的容器正在您的機器上執行。那麼刪除此容器的常規方法是首先檢查其狀態,如果它正在執行則停止容器,然後將其刪除。為此,您可以使用以下命令集。

要列出所有活動容器,可以使用以下命令。

$ docker ps

現在,如果您的容器處於活動狀態,則需要先停止容器。您可以使用以下命令來實現。

$ docker stop mycont

停止此容器後,您可以輕鬆地使用以下任一命令將其刪除。

$ docker container rm mycont


$ docker rm mycont

如果您不想經歷所有這些麻煩,可以直接使用以下命令強制刪除容器。

$ docker rm -f mycont

即使您嘗試刪除正在執行的容器,也不會出現錯誤。

您可以透過使用空格分隔容器ID或名稱來同時刪除多個容器。檢視以下命令以同時刪除3個容器。

$ docker container rm mycont1 mycont2 mycont3

您還可以將兩個命令混合使用,以一次刪除系統中的所有容器。檢視以下命令。

$ docker stop $(docker ps -aq)

在上面的命令中,我們使用了Docker stop命令作為父命令,並且沒有提及每個單獨容器的ID或名稱,而是使用了列出所有容器的容器ID的子命令。 -q(靜默)選項用於僅返回容器ID,-a(全部)選項用於返回所有容器。

現在您已經停止了所有容器,您可以使用類似的命令來刪除所有容器。

$ docker rm $(docker ps -aq)

無需先停止所有容器然後刪除它們,您也可以在此處使用 -f 選項,以強制同時刪除所有容器。

$ docker rm -f $(docker ps -aq)

如果您只想刪除一些已停止的容器,可以使用filter選項來提供容器的狀態。

$ docker rm $(docker ps --filter status=exited -q)

在上面的命令中,我們使用了Docker rm命令以及一個子命令,該子命令過濾所有已退出的容器並返回它們的ID。

總而言之,在本文中,我們討論瞭如何使用兩個不同的命令刪除一個或多個容器。我們瞭解瞭如何與它們一起使用多個選項以及如何同時刪除或停止所有容器。

更新於:2021年8月6日

604 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告