首页/云/Docker 容器速查/docker ps --filter 筛选容器
基础命令50 条

docker ps --filter 筛选容器

按状态、退出码、名称、标签、镜像等维度过滤容器列表,退出码 137 过滤能快速找出被强杀或 OOM 的实例。

Docker 容器速查云更新于 2026-10-13

容器列表筛选是什么

容器多起来之后,靠肉眼在列表里找目标既慢又容易看漏。筛选参数按状态、退出码、名称、标签、镜像、健康状态等维度缩小范围,把「看列表」变成「取集合」,既可以用于人工判断,也可以直接喂给批量操作命令。

基本信息

语法docker ps [--filter 键=值]...,可叠加多个条件
状态类按运行、停止、创建中等状态筛选
退出码类按具体退出码筛选,便于找被强杀或异常退出的实例
名称与标签按名称子串、按标签键值筛选,适合按业务分组
其他维度镜像、网络、卷、健康状态、创建时间先后

典型使用场景

  • 找出异常退出的容器:按非零退出码筛选,快速定位崩溃实例
  • 按环境批量操作:用标签筛出开发或测试环境的一批容器统一处置
  • 定位某个服务的实例:按名称筛选,随后查看状态与日志
  • 排查内存问题:找出被强杀退出的容器,区分 OOM 与其他原因
  • 清理前圈定目标:先筛选出集合,确认清单无误再执行删除

常用示例

常用示例
docker ps -a --filter status=exited                    # 所有已退出的容器
docker ps -a --filter exited=137                       # 被强杀或内存超限的容器
docker ps -a --filter name=web                         # 按名称子串筛选
docker ps --filter label=env=prod                      # 按标签筛选
docker ps -a --filter ancestor=nginx:1.27-alpine       # 由某镜像创建的容器
docker ps -a --filter health=unhealthy                 # 健康检查失败的容器

常用筛选键

筛选键作用典型用法
状态运行、停止、创建中等找停止容器做清理
退出码按具体退出码筛选分辨内存超限与其他崩溃
名称按名称子串匹配定位单个服务的实例
标签按键值对匹配按环境或角色圈定范围
镜像来源按创建该容器使用的镜像用完某镜像后可一并处置
网络与卷按接入的网络或挂载的卷清理前的依赖检查
健康状态按健康检查结果找出不健康但仍在跑的实例

用筛选做批量操作

  • 先执行一次只列名称的命令核对目标,再执行批量操作
  • 名称子串匹配会命中相近名字的容器,确认范围时先看完整清单
  • 多个条件叠加时先小范围试一次,确认语义符合预期
  • 批量操作命令里避免解析表格输出,用只输出标识的方式配合取值
  • 生产环境批量操作前确认监控与告警已就位,出问题能及时发现
名称筛选是子串匹配:搜一个短名字可能把多个容器一起命中。需要精确到单个实例时,先列出清单确认,或用只输出标识的方式二次筛选。
被强杀退出的容器先看内存限制与内存超限标记,再决定是调大限制还是排查泄漏,直接重启只是重复失败。

易错点

  • 名称子串匹配命中多个容器,批量操作误伤了相近命名的实例
  • 多个筛选条件叠加语义不直观,没先小范围验证就批量执行
  • 只看退出码不看内存超限标记,把内存问题当成程序崩溃处理
  • 按标签筛出的集合包含尚未下线的实例,清理时误伤在线服务

数据来源与参考

  • Docker 官方 CLI 参考:docker ps --filter(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌