如何在 Docker 中列出容器?
通过单个命令行在单个主机上管理多个 Docker 容器可能很棘手。因此,最好了解 Docker 命令,以便以最佳方式管理容器。Docker 为我们提供了许多命令行工具和实用程序来管理容器。在本文中,我们将讨论如何通过多种方式列出 Docker 容器。我们还将了解如何过滤列表输出以获得所需的结果。那么,事不宜迟,让我们开始吧。
列出 Docker 容器
主要有两个命令可用于显示所有容器的列表。它们是:
- Docker container ls
- Docker ps
这两个命令可以实现类似的结果,并且可以互换使用。
让我们来看看这两个命令的语法。$ docker container ls [OPTIONS]
$ docker ps [OPTIONS]
您可以使用 Docker 容器的 ls 和 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` 命令进入退出状态。如果您只想列出已停止的容器,可以使用带有 `status` 参数的 `--filter` 选项。让我们看看如何操作。
$ docker container ls --filter "status=exited"
除了筛选选项之外,您还可以提供以下状态筛选条件:
- 已创建 - 表示容器已创建但尚未启动。
- 正在重启 - 表示容器正在重启。
- 正在运行 - 表示容器正在运行。
- 已暂停 - 表示容器内的所有进程均已暂停。
- 已退出 - 表示容器已停止。
- 已终止 - 表示停止容器的尝试失败。
实际上,您还可以根据容器 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
结语!
总而言之,本文讨论了用于显示主机上所有容器列表的两个主要命令。此外,我们还讨论了可用于这些命令的各种选项,以便根据需要筛选结果。我们希望您现在能够更轻松、更高效地使用容器列表命令。

