如何在 Docker 中列出容器

凭借其提供的灵活性和可扩展性,有效管理容器至关重要。Docker 管理的一个基本方面是知道如何列出容器。在本深入指南中,我们将探讨在 Docker 中列出容器的各种方法和最佳实践,让您掌握容器编排和管理的这一基本技能。

Docker-logo-1

了解 Docker 容器

在深入研究容器列表之前,让我们确保我们对 Docker 容器有扎实的了解:

什么是容器?

Docker 容器是轻量级、独立且可执行的包,包括运行软件所需的一切,包括代码、运行时、系统工具、库和设置。它们与主机系统隔离运行,可以在任何支持 Docker 的系统上轻松移动和执行。

关键 Docker 概念

为了有效地导航 Docker,您应该熟悉关键概念:

1. 图片

Docker 镜像是容器的蓝图。映像是文件系统的快照,以及在运行容器时使用它的参数。您可以从 Docker Hub 拉取映像或创建自定义映像。

2. 容器

容器是 Docker 映像的实例。每个容器都是隔离的,并且独立于其他容器运行,使其在运行应用程序时高效且安全。

3. Docker 架构

Docker 在客户端-服务器架构上运行。Docker 客户端与 Docker 服务器通信,Docker 服务器管理容器、映像、网络和存储。

在 Docker 中列出容器

使用“docker ps”命令

” 命令是列出容器的第一步:docker ps

1. 基本的“docker ps”命令

要列出所有正在运行的容器,只需打开终端并键入:

docker ps

2. 显示正在运行的容器列表

默认情况下,“”仅显示正在运行的容器。您将看到一个包含列的表,包括 CONTAINER ID、IMAGE、COMMAND、CREATED、STATUS、PORTS 和 NAMES。docker ps

3. 过滤选项

若要缩小容器列表的范围,请使用以下选项:

  • -a:列出所有容器,包括已停止的容器。
  • -q:仅列出容器 ID。
  • -f:根据状态、标签、名称或网络等条件应用过滤器。

详细的“docker ps”用法

1. 使用“–format”自定义格式

您可以使用该选项格式化“docker ps”的输出。当您需要容器列表中的特定信息时,这特别有用。例如:--format

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

2. 列出远程主机上的容器

若要列出远程 Docker 主机上的容器,请使用后跟主机地址的选项:-H

docker --host ssh://remote_host ps

使用“docker container ls”命令

1. ‘docker container ls’ 简介

虽然 ” 是列出容器的经典命令,但 ” 提供了具有不同语法的类似体验。您可以互换使用它们。docker psdocker container ls

2. 比较“docker ps”和“docker container ls”

这两个命令之间的主要区别在于名称。两者都用于列出容器。” 只是 ‘.’ 的别名。docker container lsdocker ps

3. 以特定格式列出容器

您可以使用以下选项格式化“docker container ls”的输出,就像“docker ps”一样:--format

docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

其他集装箱列表选项

1. “Docker PS”与“Docker Container LS”

“”和“”之间的选择取决于您的个人喜好。这两个命令同样能够列出容器,您可以使用您认为更直观的命令。docker psdocker container ls

2. 所有容器的“docker ps -a”命令

若要列出所有容器(包括已停止的容器),请使用 ” 命令。当您需要查看系统上容器的历史记录时,这特别有用。docker ps -a

3. 列出容器 ID 的“docker ps -q”命令

如果只需要容器 ID,请使用“.”这将为您提供可在后续命令中使用的 ID 列表。docker ps -q

实例

1. 按名称列出容器

若要按名称列出容器,请使用带有“name”条件的选项:--filter

docker ps --filter "name=my_container"

2. 按状态筛选

您可以按容器的状态筛选容器。例如,要仅列出正在运行的容器,请执行以下操作:

docker ps --filter "status=running"

3. 按不同标准对容器进行分类

您可以按不同的条件(如名称、状态或创建时间)对容器列表进行排序。例如,要按名称排序:

docker ps --format "table {{.Names}}\t{{.Status}}" | sort

4. 使用“docker ps”和自定义格式

自定义格式设置使您可以灵活地以适合您需求的方式显示容器信息。下面是一个示例:

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

列出容器的最佳实践

使集装箱清单保持最新

经常更新集装箱列表至关重要,尤其是在动态环境中。自动执行该过程或创建定期运行“”或“”的脚本并保存结果。docker psdocker container ls

脚本编写和自动化

脚本编写简化了容器管理。您可以创建基于特定条件列出容器的脚本,筛选结果,并执行启动或停止容器等操作。

保护 Docker 容器列表

集装箱列表可能包含敏感信息。确保只有授权用户才能访问此信息。限制对 Docker API 的访问并使用适当的身份验证。

管理大量容器

在具有大量容器的环境中,有效的容器列表至关重要。使用脚本根据容器的用途或功能对容器进行分组和管理。

在 Docker Swarm 和 Kubernetes 中处理容器列表

如果您使用的是 Docker Swarm 或 Kubernetes,则列出容器会遵循一组不同的命令和做法。有关指导,请参阅相应的文档。

常见问题疑难解答

列出容器时的错误和问题

  • 权限被拒绝:确保您具有运行 Docker 命令所需的权限。
  • Docker 守护程序未运行:如果 Docker 守护程序未运行,请启动它。
  • Docker API 不可访问:检查网络和防火墙设置,确保 Docker 的 API 可访问

调试容器列表问题

  • 使用该命令收集有关 Docker 的系统范围信息。docker info
  • 检查 Docker 日志中是否有错误和警告。
  • 有关具体问题,请查阅 Docker 社区论坛和在线资源。

掌握在 Docker 中列出容器的艺术是高效容器管理的基础技能。通过了解各种 Docker 命令和选项,您可以控制容器,无论您有少数容器还是数百容器。脚本编写、自动化和保护容器列表是将 Docker 管理提升到新水平的重要步骤。

当您继续您的 Docker 之旅时,不要忘记容器列表只是一个开始。进一步探索,尝试不同的选项,并将容器列表集成到您的日常工作流程中。Docker 的可能性是无穷无尽的,而这一切都始于了解基础知识。

未经允许不得转载:统信UOS之家 » 如何在 Docker 中列出容器

相关文章