如何查看 Docker 容器列表?

docker ps 看运行中的容器,docker ps -a 看全部(含已停止),-q 只出 ID,--filter 按条件过滤,--format 自定义输出。本文汇总常用组合与脚本用法。

最佳实践
如何查看 Docker 容器列表?封面

基本命令:docker ps 列出运行中的容器;docker ps -a 列出全部**(含已停止);等价的新写法是 docker container ls / docker container ls -a。脚本里常用 docker ps -q(只输出 ID)做批量操作。**

常用变体

docker ps                  # 运行中
docker ps -a               # 全部(含停止的)
docker ps -q               # 只显示容器 ID(脚本用)
docker ps -s               # 加显示磁盘占用
docker ps -n 5             # 最近创建的 5 个(含停止)
docker ps -l               # 最新创建的一个

输出列含义:CONTAINER ID / IMAGE / COMMAND / CREATED / STATUS / PORTS / NAMES。

过滤(--filter)

docker ps --filter "status=exited"            # 只看已退出的
docker ps --filter "name=web"                 # 名字含 web
docker ps --filter "ancestor=nginx:1.25"      # 由指定镜像启动的
docker ps --filter "label=env=prod"           # 按标签
docker ps --filter "health=unhealthy"         # 健康检查失败的

自定义输出格式(--format)

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

配合 watch 做简易监控台:

watch -n2 'docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'

批量操作套路

docker stop $(docker ps -q)                       # 停全部
docker rm $(docker ps -aq --filter status=exited) # 删全部退出的

观测云对照

容器清单的平台化视角。 docker ps 是单机瞬时视角;观测云把每台主机的容器清单、状态、资源用量持续采集,多主机统一视图、历史变化可查,异常退出还有事件告警。

常见问题(FAQ)

Q:docker ps 和 docker container ls 有区别吗?
A:没有,后者是 1.13 后的新分组写法,ps 是兼容别名。

Q:为什么刚启动的容器 ps 里看不到?
A:多半启动即退出了——docker ps -a 找它,看 STATUS 的退出码,docker logs 容器名 查原因。

Q:能远程看另一台机器的容器吗?
A:docker -H tcp://host:2376 ps(需 TLS 配置)或 ssh 过去执行。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台