docker ps -f status=xxx 可精准筛选特定状态容器,支持 running、exited、paused、created、restarting、removing、dead 等标准状态值,常配合 -a、--format 和多个 -f 使用。
用 docker ps -f status=xxx 就能精准筛选特定状态的容器,比如只看已退出的、暂停的或正在运行的。
按状态关键词直接过滤
status 是最常用的过滤字段之一,支持以下标准状态值:
-
running:正在运行的容器(
docker ps -f status=running) -
exited:已停止且正常退出的容器(
docker ps -a -f status=exited,注意加-a才能看到) -
paused:被暂停的容器(
docker ps -f status=paused) - created:已创建但未启动的容器
- restarting、removing、dead:对应异常或清理中的状态
组合其他选项增强实用性
单独过滤 status 往往不够,常配合以下选项使用:
- 加
-a查看所有容器(含已停止的),否则docker ps默认只显示 running 状态 - 加
--format精简输出,例如只看名称和状态:docker ps -a -f status=exited --format "{{.Names}}\t{{.Status}}" - 多个
-f可叠加,如同时按状态和镜像过滤:docker ps -a -f status=exited -f ancestor=nginx
快速验证当前有哪些状态可选
如果不确定当前有哪些容器处于什么状态,可以先运行:
docker ps -a --format "{{.Status}}: {{.Names}}"
这条命令会列出所有容器的状态摘要,帮你直观看到实际存在的状态值,避免拼写错误(比如误写成 stopped ——Docker 不识别这个状态)。











