如何列出正在运行和已停止的 Docker 容器

DockerDockerBeginner
立即练习

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

简介

在本教程中,我们将探讨列出正在运行和已停止的 Docker 容器的基本技术。了解如何有效地管理和监控你的 Docker 环境对于基于容器的高效应用程序开发和部署至关重要。

理解 Docker 容器

Docker 是一个广受欢迎的容器化平台,它允许开发者以一致且可重复的方式打包和部署应用程序。容器是轻量级、独立且自包含的单元,它们封装了应用程序、其依赖项及其运行时环境。这使得在从开发者的笔记本电脑到生产服务器的不同环境中开发、测试和部署应用程序变得更加容易。

什么是 Docker 容器?

Docker 容器是一种打包和分发应用程序的方式。它们为运行应用程序提供了一个标准化且隔离的环境,确保应用程序及其依赖项被捆绑在一起,并且可以轻松部署到任何安装了 Docker 的系统上。容器是从 Docker 镜像创建的,Docker 镜像就像是容器的蓝图或模板。

Docker 容器的优点

  • 一致性:容器确保应用程序及其依赖项被打包在一起,消除了“在我的机器上能运行”的问题。
  • 可移植性:容器可以在不同环境(从开发到生产)之间轻松移动,无需进行复杂的配置更改。
  • 可扩展性:容器可以轻松地扩展或缩小,使你能够根据需求调整分配给应用程序的资源。
  • 高效性:容器是轻量级的,并且共享主机的操作系统,这使得它们比传统虚拟机更高效。

Docker 架构

Docker 使用客户端 - 服务器架构,其中 Docker 客户端与 Docker 守护进程(服务器)通信以执行各种操作,例如构建、运行和管理容器。Docker 守护进程在主机上运行,负责管理容器及其生命周期。

graph LD subgraph Docker 架构 client[Docker 客户端] -- API --> daemon[Docker 守护进程] daemon -- 拉取镜像 --> registry[Docker 镜像仓库] daemon -- 管理 --> container[Docker 容器] end

Docker 镜像和容器

Docker 镜像是创建容器的蓝图。它们包含应用程序代码、依赖项以及运行应用程序所需的配置。容器是 Docker 镜像的运行实例,它们为运行应用程序提供了一个隔离且一致的环境。

列出正在运行的 Docker 容器

一旦你有正在运行的 Docker 容器,你可能需要列出并管理它们。要列出正在运行的 Docker 容器,你可以使用 docker ps 命令。

列出正在运行的容器

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

docker ps

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

你还可以向 docker ps 命令添加其他选项来自定义输出。例如:

docker ps -a

这将列出所有容器,包括当前未运行的容器。

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

这将以表格格式显示容器 ID、镜像和状态。

筛选正在运行的容器

你还可以使用各种选项筛选正在运行的容器列表。例如:

docker ps -f "status=running"

这将只列出当前正在运行的容器。

docker ps -f "name=mycontainer"

这将只列出名为“mycontainer”的容器。

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "status=running"

这将以表格格式列出所有正在运行容器的容器 ID、镜像和状态。

通过了解如何列出正在运行的 Docker 容器,你可以轻松管理和监控 Docker 环境中的容器。

列出已停止的 Docker 容器

除了列出正在运行的容器外,你可能还需要列出已停止或已退出的容器。这对于故障排除、清理未使用的容器或重启已停止的容器很有用。

列出已停止的容器

要列出所有已停止的 Docker 容器,请使用以下命令:

docker ps -a -f "status=exited"

这将显示一个包含已停止容器信息的表格,包括容器 ID、用于创建容器的镜像、执行的命令、容器创建的时间、状态以及端口。

你还可以使用 --format 选项来自定义输出:

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

这将以表格格式显示容器 ID、镜像和状态。

筛选已停止的容器

你还可以使用各种选项筛选已停止的容器列表。例如:

docker ps -a -f "status=exited" -f "name=mycontainer"

这将只列出名为“mycontainer”的已停止容器。

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "name=mycontainer"

这将以表格格式列出所有名为“mycontainer”的已停止容器的容器 ID、镜像和状态。

通过了解如何列出已停止的 Docker 容器,你可以轻松管理和监控 Docker 环境中的容器,即使是那些当前未运行的容器。

总结

在本指南结束时,你将对如何列出正在运行和已停止的 Docker 容器有扎实的理解,从而能够更好地管理基于 Docker 的应用程序并进行故障排除。掌握这些技能将帮助你简化 Docker 工作流程,并清晰地了解你的容器生态系统。