如何在 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
最終想法!
總而言之,在本文中,我們討論了用於顯示主機中完整容器列表的兩個主要命令。此外,我們還討論了可與這些命令一起使用的各種選項,以便根據我們的要求過濾結果。我們希望您現在能夠以更好、更簡單的方式使用容器列表命令。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP