如何在 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+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告