如何在 Docker 中列出容器?

dockeroperating systemopen source

通过单个命令行在单个主机上管理多个 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

结语!

总而言之,本文讨论了用于显示主机上所有容器列表的两个主要命令。此外,我们还讨论了可用于这些命令的各种选项,以便根据需要筛选结果。我们希望您现在能够更轻松、更高效地使用容器列表命令。


相关文章