You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出所有设置了重启策略的Docker容器?

如何列出所有设置了重启策略的Docker容器(含已停止容器)

不管容器处于运行、停止还是成功退出状态,只要配置了重启策略,都可以通过docker inspect命令获取其重启策略信息——因为重启策略是容器的持久化配置项,不会随容器状态变化而丢失。

方法1:格式化输出所有容器的重启策略(推荐)

使用docker inspect的格式化功能,结合容器ID列表,直接输出容器名称、状态和重启策略:

docker inspect --format '{{.Name}} | {{.State.Status}} | {{.HostConfig.RestartPolicy.Name}}' $(docker ps -aq)
  • docker ps -aq:获取所有容器的ID(包括已停止的)
  • --format:自定义输出格式,提取容器名称、运行状态、重启策略类型

如果只想筛选出非默认重启策略的容器(默认策略为no),可以加grep过滤:

docker inspect --format '{{.Name}} | {{.State.Status}} | {{.HostConfig.RestartPolicy.Name}}' $(docker ps -aq) | grep -v " | no$"

方法2:显示on-failure策略的重试次数

如果要查看on-failure策略对应的重试次数,可以调整格式化字段:

docker inspect --format '{{.Name}} | {{.State.Status}} | {{.HostConfig.RestartPolicy.Name}} | 重试次数:{{.HostConfig.RestartPolicy.MaximumRetryCount}}' $(docker ps -aq) | grep -v " | no |"

方法3:无工具依赖的简易查看(输出较零散)

如果不需要规整格式,也可以直接用grep提取关键信息:

docker inspect $(docker ps -aq) | grep -A2 -B1 -E '(Name|Status|RestartPolicy)'
  • -A2:显示匹配行后2行,-B1:显示匹配行前1行,方便关联容器信息

关键说明

  • 对于设置了on-failure策略且已成功运行完成(状态为exited且退出码为0)的容器,重启策略依然保存在容器配置中,上述命令可以正常识别。
  • 重启策略的类型包括:no(默认)、always、unless-stopped、on-failure。

内容的提问来源于stack exchange,提问作者Ákos Vandra-Meyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:35:43