如何在 Docker 中列出容器?


透過單個命令列在單個主機上管理多個 Docker 容器可能會變得很困難。因此,最好了解 Docker 命令以最佳方式管理容器。Docker 為我們提供了許多命令列工具和實用程式來管理容器。在本文中,我們將討論如何透過多種方式列出 Docker 容器。我們還將瞭解如何過濾列表輸出以獲得所需的結果。因此,事不宜遲,讓我們開始吧。

列出 Docker 容器

主要有兩種主要的命令可用於顯示所有容器的列表。它們是:

  • Docker container ls
  • Docker ps

這兩個命令都可以用來實現類似的結果,並且可以互換使用。讓我們來看看這兩個命令的語法。

$ docker container ls [OPTIONS]


$ docker ps [OPTIONS]

您可以將多個選項與 Docker container ls 和 Docker ps 命令一起使用。讓我們討論每一個。

名稱
縮寫
描述
--all
-a
您可以使用此選項顯示所有容器。預設情況下,守護程式僅顯示正在執行的容器。
--filter
-f
您可以使用此選項根據您提供的條件為輸出提供過濾器。
--format
 
您可以透過指定 Go 模板來漂亮地列印容器列表。
--last
-n
如果您只想顯示最後啟動的 n 個容器,可以使用此選項。
--latest
-l
您可以使用此選項僅顯示最新構建的容器列表。
--no-trunc
 
要避免截斷輸出,可以使用此選項。
--quiet
-q
您可以使用 quiet 選項僅顯示容器 ID。
--size
-s
您可以使用此選項顯示容器的檔案大小。

示例 1. 顯示正在執行的容器

如果您想顯示所有正在執行的容器,您可以按原樣使用上述命令。

$ docker container ls


$ docker ps

這將僅列出系統上正在積極執行的容器。這將顯示諸如容器 ID、容器名稱、關聯的映象、建立日期、容器狀態、已公開的埠和預設命令等引數。

示例 2. 列出所有 Docker 容器

如果您想列出所有 Docker 容器(非活動或活動),您可以將 --all 選項與上述命令一起使用。這將列出所有狀態下的所有容器。

$ docker container ls -a


$ docker ps -a

示例 3. 列出已停止的容器

已停止的容器是指處於退出狀態的容器。透過在其中執行 Docker stop 命令,容器將進入退出狀態。如果您只想列出已停止的容器,您可以將 --filter 選項與名為 status 的引數一起使用。讓我們看看如何做到這一點。

$ docker container ls --filter "status=exited"

您可以與 filter 選項一起提供的其他狀態過濾器是:

  • 已建立 - 這意味著容器僅建立而未啟動。
  • 正在重新啟動 - 此狀態表示容器正在重新啟動。
  • 正在執行 - 這意味著容器正在積極執行。
  • 已暫停 - 這意味著容器內的所有程序都已暫停。
  • 已退出 - 這意味著容器已停止。
  • 已死 - 這意味著停止容器的嘗試失敗了。

事實上,您還可以根據容器 ID、映象和名稱過濾映象。

示例 4. 顯示映象的容器

如果您想顯示與特定映象關聯的容器列表,您可以將 filter 選項與 ancestor 引數一起使用。讓我們看看如何做到這一點。

$ docker container ls -a --filter "ancestor=<name of image>"

示例 5. 只打印容器 ID

如果您只想列印容器的 ID,可以使用 quiet 選項來執行此操作。以下是僅列印所有容器的容器 ID 的命令。

$ docker container ls -a -q

如果您想顯示有關這兩個命令的有用資訊,您可以使用 --help 選項,如下所述。

$ docker container ls --help

$ docker ps --help

示例 6. 列出在特定容器之前和之後建立的容器

您還可以使用 filter 選項列出在特定容器之前或之後建立的所有容器。

$ docker container ls -a -f before=container_name


$ docker container ls -a -f since=container_name

最終想法!

總而言之,在本文中,我們討論了用於顯示主機中完整容器列表的兩個主要命令。此外,我們還討論了可與這些命令一起使用的各種選項,以便根據我們的要求過濾結果。我們希望您現在能夠以更好、更簡單的方式使用容器列表命令。

更新於:2021年8月6日

14K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.