通过单个命令行在单个主机中管理多个 Docker 容器可能会变得很困难。因此,最好了解 Docker 命令来以最佳方式管理容器。Docker 为我们提供了许多命令行工具和实用程序来管理容器。在本文中,我们将讨论如何通过多种方式列出 Docker 容器。我们还将研究如何过滤列表输出以获得所需的结果。因此,事不宜迟,让我们开始吧。
主要有两个主要命令可用于显示所有容器的列表。这些是 -
Docker 容器 ls
码头工人
这两个命令都可以用来获得类似的结果,并且可以互换使用。让我们看看这两个命令的语法。
$ docker container ls [OPTIONS]
$ docker ps [OPTIONS]
您可以在 Docker 容器 ls 和 Docker ps 命令中使用多个选项。让我们逐一讨论。
名称 | 速记 | 描述 |
---|---|---|
--all | -一种 | You can use this option to display all containers. By default, the daemon only displays running containers. |
- 筛选 | -F | You can use this option to provide filters to the output depending on the conditions that you have provided. |
- 格式 | | You can pretty-print the list of containers by specifying a Go template. |
- 最后的 | -n | If you want to display only the n last started containers, you can use this option. |
- 最新的 | -l | You can use this option to display a list of only the latest built containers. |
--no-trunc | | To avoid truncating the output, you can use this option. |
- 安静的 | -q | You can use the quiet option to only display the container IDs. |
- 尺寸 | -s | 您可以使用此选项来显示容器的文件大小。 |
如果要显示所有正在运行的容器,可以按原样使用上述命令。
$ docker container ls
$ docker ps
这将仅列出在您的系统上主动运行的那些容器。这将显示参数,例如容器 ID、容器名称、关联映像、创建日期、容器状态、已公开的端口和默认命令。
如果要列出所有 Docker 容器(非活动或活动),可以将 --all 选项与上述命令一起使用。这将列出所有状态的所有容器。
$ docker container ls -a
$ docker ps -a
停止的容器是那些处于退出状态的容器。容器通过在其中执行 Docker stop 命令而进入退出状态。如果您只想列出已停止的容器,您可以使用带有名为 status 的参数的 --filter 选项。让我们看看如何做到这一点。
$ docker container ls --filter "status=exited"
您可以与过滤器选项一起提供的其他状态过滤器是 -
Created - 这意味着容器仅被创建而未启动。
Restarting - 此状态表示容器正在重新启动。
运行 - 这意味着容器正在积极运行。
暂停 - 这意味着容器内的所有进程都已暂停。
退出 - 这意味着容器已停止。
Dead - 这意味着停止容器的尝试失败。
实际上,您还可以根据容器 ID、图像和名称过滤图像。
如果要显示与特定图像关联的容器列表,可以将过滤器选项与祖先参数一起使用。让我们看看如何做到这一点。
$ docker container ls -a --filter "ancestor=<name of image>"
如果您只想打印容器的 ID,您可以使用 quiet 选项来执行此操作。这是仅打印所有容器的容器 ID 的命令。
$ docker container ls -a -q
如果要显示有关这两个命令的有用信息,可以使用 --help 选项,如下所述。
$ docker container ls --help
$ docker ps --help
您还可以使用过滤器选项列出在特定容器之前或之后创建的所有容器。
$ docker container ls -a -f before=container_name
$ docker container ls -a -f since=container_name
总而言之,在本文中,我们讨论了用于显示主机中完整容器列表的两个主要命令。此外,我们还讨论了可与这些命令一起使用的各种选项,以根据我们的要求过滤结果。我们希望您现在能够以更好、更简单的方式使用容器列表命令。