在容器化应用迅速发展的今天,Docker 已成为开发和部署应用的核心工具之一。在许多工作场景中,我们需要列出当前系统上运行的所有 Docker 容器。本文将指导您如何通过简单的操作步骤,使用 Docker 命令行工具来列出所有正在运行的容器及其状态。

操作前的准备
在开始之前,确保以下条件得以满足:
- 您已在系统上安装了 Docker,并且 Docker 服务正在运行。
- 您拥有访问 Docker 命令行的权限(通常需要管理员或 root 权限)。
第一步:查看正在运行的 Docker 容器
要列出所有当前正在运行的 Docker 容器,可以使用以下命令:
docker ps
此命令将列出所有正在运行的容器,包括容器 ID、镜像、创建时间、状态、端口和名称等信息。
命令输出示例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0a0c0bc052c nginx:latest "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 80/tcp web_server
输出将展示有关每个容器的详细信息,如果没有运行的容器,会返回一个空列表。
第二步:查看所有容器(包括已停止的容器)
若要列出所有容器,包括停止的容器,您可以使用以下命令:
docker ps -a
此命令将显示所有容器的状态,无论它们是正在运行还是已停止。这样,可以获得更全面的容器管理视图。
命令输出示例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0a0c0bc052c nginx:latest "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 80/tcp web_server
b1c1d1eb053c ubuntu "bash" 5 minutes ago Exited (0) 3 minutes ago friendly_brahmagupta
第三步:筛选特定信息
在某些情况下,您可能只对容器名称、状态或其他特定字段感兴趣。可以使用 –format 选项来控制输出。例如,要仅查看容器名称,可以使用以下命令:
docker ps --format "{{.Names}}"
更多格式化示例
- 查看状态和名称:
docker ps --format "{{.Status}} - {{.Names}}" - 查看镜像和端口:
docker ps --format "{{.Image}} - {{.Ports}}"
注意事项与常见问题
在使用 Docker 命令时,您可能会遇到一些问题或需要注意的地方:
- 权限问题:如果您没有权限执行 Docker 命令,请尝试在命令前加上 sudo,或者将您的用户添加到 Docker 用户组中。可以使用命令
sudo usermod -aG docker $USER来添加用户。
- Docker 服务未运行:如果执行命令时遇到错误提示,请检查 Docker 服务是否已启动。可以通过
systemctl status docker检查 Docker 服务状态。
实用技巧
以下是一些在使用 Docker 时的实用技巧:
- 定期清理停止的容器,以释放系统资源,可以使用命令
docker container prune来删除所有停止的容器。
- 使用 docker network ls 查看所有网络,用于更好地管理网络相关的容器。
- 使用 Docker Compose 管理多容器应用,简化容器的操作和配置。
结论
本文详细介绍了如何列出所有 Docker 容器及其状态。通过熟悉这些基本命令和格式化选项,您可以更高效地管理 Docker 容器,并解决在操作过程中可能遇到的问题。希望这篇文章对您有所帮助,助您在容器管理中游刃有余。













