docker inspect 是查看容器或镜像底层配置最直接的命令,输出 JSON 格式结构化数据,涵盖网络、存储、运行时参数、挂载点、环境变量等全部细节,并支持 --format 精准提取字段及 jq 高级解析。

docker inspect 是查看容器或镜像底层配置最直接的命令,它输出的是 JSON 格式结构化数据,涵盖网络、存储、运行时参数、挂载点、环境变量等全部细节。
基础用法:查容器基本信息
运行容器后,用容器 ID 或名称即可获取完整配置:
- docker inspect my-nginx —— 按容器名查询
- docker inspect a1b2c3d4e5f6 —— 按前几位 ID 查询(支持自动补全)
- docker inspect $(docker ps -q) —— 查看所有运行中容器的完整信息(慎用,输出量大)
精准提取关键字段:用 --format 简化输出
原始 JSON 冗长,常用 --format 提取特定值,语法类似 Go 模板:
- docker inspect --format='{{.NetworkSettings.IPAddress}}' my-nginx —— 获取 IP 地址(旧版桥接网络)
- docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my-nginx —— 获取用户自定义网络下的 IP(推荐)
- docker inspect --format='{{.HostConfig.Binds}}' my-nginx —— 查看所有卷挂载路径
- docker inspect --format='{{.Config.Env}}' my-nginx —— 查看环境变量列表
查镜像配置也适用
docker inspect 同样适用于镜像,用于确认构建参数、默认 CMD、暴露端口、LABEL 等元数据:
- docker inspect nginx:alpine —— 查看镜像默认工作目录、入口点、暴露端口
- docker inspect --format='{{.ContainerConfig.Labels}}' ubuntu:22.04 —— 查看镜像标签信息
实用技巧与注意事项
实际排错时,几个关键点常被忽略:
- 容器未运行时仍可 inspect,但部分运行时字段(如 NetworkSettings)可能为空或不准确
- 使用 jq 工具配合可做更灵活解析,例如:docker inspect my-app | jq '.[0].NetworkSettings.Ports'
- 若看到 "Status": "exited" 且无日志,优先检查 State.Error 和 State.ExitCode 字段定位启动失败原因
- 挂载权限问题常藏在 HostConfig.Mounts 中,注意 ReadOnly 和 Propagation 设置

















