如何显示所有 Docker 容器

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Docker 已成为现代软件开发和部署的重要工具。在本教程中,我们将探讨如何显示系统上运行的所有 Docker 容器,为你提供有效管理和监控 Docker 环境所需的知识。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") subgraph Lab Skills docker/ls -.-> lab-411532{{"如何显示所有 Docker 容器"}} docker/ps -.-> lab-411532{{"如何显示所有 Docker 容器"}} docker/start -.-> lab-411532{{"如何显示所有 Docker 容器"}} docker/stop -.-> lab-411532{{"如何显示所有 Docker 容器"}} docker/restart -.-> lab-411532{{"如何显示所有 Docker 容器"}} end

Docker 容器简介

Docker 是一个广受欢迎的开源平台,可在容器化环境中进行应用程序的开发、部署和管理。容器是轻量级、独立且可执行的软件包,其中包含运行应用程序所需的一切,包括代码、运行时、系统工具和库。

什么是 Docker 容器?

Docker 容器是一种标准化的软件单元,它将代码及其所有依赖项打包在一起,以便应用程序能够在不同的计算环境中快速、可靠地运行。容器相互隔离,并捆绑自己的软件、库和配置文件;它们可以通过定义良好的通道相互通信。

Docker 容器的优点

  • 一致性:无论底层基础设施如何,容器都能确保应用程序以相同的方式运行。
  • 可扩展性:可以轻松扩展或缩减容器以满足不断变化的需求,从而更轻松地管理和部署应用程序。
  • 高效性:容器轻量级且共享主机操作系统,与传统虚拟机相比,能更高效地使用系统资源。
  • 可移植性:容器可以轻松地在不同的计算环境之间移动,例如从开发人员的机器移动到生产服务器。

Docker 架构

Docker 使用客户端 - 服务器架构,其中 Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发 Docker 容器。Docker 守护进程在主机上运行,而 Docker 客户端可以在同一台机器上或远程机器上运行。

graph LD subgraph Docker 架构 client[Docker 客户端] daemon[Docker 守护进程] client -- 与......通信 --> daemon daemon -- 运行 --> containers end

开始使用 Docker

要开始使用 Docker,你需要在系统上安装 Docker 引擎。你可以从 Docker 官方网站(https://www.docker.com/get-started)下载并安装 Docker。安装完成后,你可以使用 Docker 命令行界面(CLI)与 Docker 守护进程进行交互并管理你的容器。

显示所有 Docker 容器

一旦你安装并运行了 Docker,就可以使用各种命令来显示有关 Docker 容器的信息。为此目的的主要命令是 docker ps

列出所有正在运行的容器

要显示所有正在运行的 Docker 容器的列表,请使用以下命令:

docker ps

这将为你显示一个表格,其中包含每个正在运行的容器的信息,包括容器 ID、用于创建容器的镜像、在容器中执行的命令、容器创建的时间、容器的状态以及容器正在监听的端口。

列出所有容器(正在运行的和已停止的)

如果你想查看所有容器(正在运行的和已停止的)的列表,可以使用 -a--all 标志:

docker ps -a

这将显示所有容器,包括那些已停止或已退出的容器。

自定义容器列表显示

你可以使用 --format 标志来自定义容器列表中显示的信息。例如,要仅显示容器 ID 和镜像名称,可以使用以下命令:

docker ps --format "{{.ID}} {{.Image}}"

这将输出一个表格,其中仅包含每个容器的容器 ID 和镜像名称。

过滤容器

你还可以根据各种标准(如容器状态、镜像名称或标签)过滤容器列表。例如,要仅列出当前正在运行的容器,可以使用以下命令:

docker ps --filter "status=running"

你可以在 Docker 文档中找到有关可用过滤器的更多信息。

通过使用这些命令,你可以轻松地显示和管理系统上运行的 Docker 容器。

高级容器列表技术

虽然基本的 docker ps 命令提供了有关正在运行的容器的大量信息,但 Docker 还提供了更高级的技术来列出和管理容器。

对容器列表进行排序和格式化

你可以根据各种标准对容器列表进行排序,例如容器 ID、镜像名称或创建时间。例如,要按创建时间降序对列表进行排序,可以使用以下命令:

docker ps --sort=created --format "{{.ID}} {{.Image}} {{.CreatedAt}}"

这将输出一个表格,其中包含容器 ID、镜像名称和创建时间,并按创建时间降序排序。

显示容器元数据

除了基本的容器信息外,你还可以显示有关容器的元数据,例如标签、环境变量和网络信息。为此,你可以将 --format 标志与可用的模板变量一起使用。例如,要显示容器 ID、镜像名称以及名为 “app” 的自定义标签的值,可以使用以下命令:

docker ps --format "{{.ID}} {{.Image}} {{.Label \"app\"}}"

将容器列表保存到文件

如果你需要保存容器列表的输出以供以后使用或分析,可以将输出重定向到文件。例如,要将 docker ps 的输出保存到名为 container_list.txt 的文件中,可以使用以下命令:

docker ps --format "{{.ID}} {{.Image}} {{.CreatedAt}}" > container_list.txt

这将在当前目录中创建一个名为 container_list.txt 的文件,其中包含每个正在运行的容器的容器 ID、镜像名称和创建时间。

与第三方工具集成

Docker 的容器列表功能还可以与第三方工具和脚本集成。例如,你可以使用 docker inspect 命令以 JSON 格式检索有关容器的详细信息,然后这些信息可以由其他工具或脚本进行处理。

通过掌握这些高级容器列表技术,你可以更深入地了解你的 Docker 环境,并简化你的容器管理工作流程。

总结

在本教程结束时,你将全面了解如何显示所有 Docker 容器,以及管理和监控 Docker 环境的高级技术。这些知识将使你能够优化 Docker 工作流程,并确保容器化应用程序的顺利运行。