首页/云/Docker 容器速查/docker inspect 查看对象详情
基础命令50 条

docker inspect 查看对象详情

输出容器/镜像/网络/卷的完整 JSON 元数据,是排障与自动化取值的主力命令:状态、退出码、网络、挂载、资源配置都在里面。

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

docker inspect 是什么

docker inspect 输出容器、镜像、网络、卷等对象的完整元数据,格式是 JSON。它同时包含创建时的静态配置与运行时的实时状态:启动命令、环境变量、挂载、网络地址、退出码、重启次数、内存上限都能在这里读到,是排障与自动化取值的主力命令。

基本信息

语法docker inspect [选项] NAME|ID [NAME|ID...]
类型限定--type container|image|network|volume,对象重名时用来消除歧义
模板取值-f 或 --format 用 Go 模板抽取字段,免去翻整段 JSON
附加信息-s 附带文件系统相关的大小统计
输出结构单个对象输出数组,多个对象输出数组的多元素

典型使用场景

  • 故障定位:查退出码、是否被内存超限杀死、重启次数,判断崩溃性质
  • 核对运行配置:确认实际挂载了哪些目录、注入了哪些环境变量、接了哪个网络
  • 自动化取值:在脚本里抽出容器地址或状态,做健康判断与流量切换
  • 核对镜像元数据:看镜像的架构、入口点、暴露端口与层摘要
  • 排查网络问题:读容器的网络设置、地址与网关,判断是解析问题还是路由问题

常用示例

常用示例
docker inspect web                                  # 完整输出,内容较长
docker inspect -f '{{.State.Status}} {{.State.ExitCode}}' web   # 只看状态与退出码
docker inspect -f '{{.State.OOMKilled}} {{.RestartCount}}' web   # 是否被超限杀死
docker inspect -f '{{json .Config.Env}}' web          # 只取环境变量
docker inspect --type image nginx:1.27-alpine | head -30  # 看镜像元数据头部

关键字段逐项读法

字段含义怎么用
State.Status当前状态:运行中 / 已退出 / 已创建 / 已暂停与列表命令对照,确认容器真实状态
State.ExitCode主进程退出码非零说明异常退出,按应用语义解读
State.OOMKilled是否因内存超限被杀死为真时要调内存上限或找内存泄漏
RestartCount累计自动重启次数数值持续增长说明存在崩溃循环
Config.Env注入容器的环境变量核对配置是否生效,注意里面可能含敏感值
Mounts已生效的挂载点确认数据目录是卷还是宿主目录绑定
NetworkSettings.Networks容器接入的网络与地址判断容器之间能否直接互访
HostConfig.RestartPolicy重启策略与最大重试次数确认生产容器是否配了自动拉起

把结果用起来

  • 先小范围试一次模板字段,确认存在再固化进脚本,跨版本升级时字段位置可能变化
  • 对象名可能同时命中容器与镜像,脚本里显式写出类型限定更安全
  • 需要多字段时一次取多个模板表达式,减少反复调用
  • 输出内容可能包含环境变量与内部地址,贴到工单前先过滤敏感项
容器、镜像、卷、网络都支持 inspect,字段结构各不相同;不确定字段名时先不带模板输出一次,看清结构再写模板。
镜像的仓库摘要只有在镜像来自远端仓库后才会出现,本地直接构建的镜像通常为空,需要先推送或拉取一次才能按摘要引用。

排查时的取值顺序

  • 先看状态与退出码,判断容器是运行中、正常结束还是异常退出,这决定后面往哪个方向查
  • 再看是否被内存超限杀死与重启次数,崩溃循环与资源不足的处理方式完全不同
  • 接着核对挂载与环境变量,配置没有按预期注入是服务起不来的常见原因
  • 然后看网络与地址,确认容器接在哪个网络、能否解析到依赖服务
  • 最后看健康检查与启动时间,长时间未就绪往往指向依赖阻塞而不是镜像问题

易错点

  • 不加类型限定时按容器优先解析,取到对象却不是你想要的,排障时会得出错误结论
  • 模板里的字段名大小写敏感,写错直接报字段无法求值,先输出一次原结构再确认字段路径
  • 不同 Docker 版本字段有增删,升级后依赖模板输出的脚本要回归验证
  • 把 inspect 输出整段贴到群里容易泄露环境变量里的令牌与口令,分享前先过滤

数据来源与参考

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