docker inspect 是查看容器或镜像详细配置的核心命令,输出结构化 json 数据,涵盖网络、存储、运行时参数等全部配置;支持按名/id 查询,可用 -f 提取关键字段(如 ip、端口、挂载、启动命令),并可结合 jq 或导出文件提升可读性。
docker inspect 是查看容器或镜像详细配置信息的核心命令,输出的是结构化 json 数据,涵盖网络、存储、运行时参数等几乎所有配置项。
基础用法:查看容器或镜像的完整配置
直接跟上容器名、ID 或镜像名即可:
-
查看正在运行的容器(例如名为
nginx-web):docker inspect nginx-web -
查看已停止的容器(用 ID 前几位即可):
docker inspect a1b2c3d -
查看本地镜像(例如
redis:7):docker inspect redis:7
精准提取特定字段:用 -f 参数格式化输出
避免翻看大段 JSON,用 Go 模板语法快速定位关键配置:
-
查容器 IP 地址(适用于自定义网络):
docker inspect -f '{{.NetworkSettings.IPAddress}}' nginx-web -
查绑定的端口映射:
docker inspect -f '{{.NetworkSettings.Ports}}' nginx-web -
查挂载卷路径(HostPath → ContainerPath):
docker inspect -f '{{.Mounts}}' nginx-web -
查启动命令(Entrypoint + Cmd):
docker inspect -f '{{.Config.Entrypoint}} {{.Config.Cmd}}' nginx-web
常见配置项位置说明(JSON 路径提示)
输出的 JSON 层级较深,几个高频路径供参考:
-
.NetworkSettings.Networks.[network-name].IPAddress:容器在某网络中的 IP(比.NetworkSettings.IPAddress更准确,后者仅对默认 bridge 有效) -
.HostConfig.Binds:绑定挂载列表(host-path:container-path:ro格式) -
.HostConfig.PortBindings:端口映射规则(如"8080/tcp": [{"HostIp": "0.0.0.0", "HostPort": "80"}]) -
.Config.Env:环境变量数组 -
.State.Status、.State.Running、.State.StartedAt:容器运行状态与时间
小技巧:配合其他命令提升效率
单独使用 inspect 有时信息太多,可组合简化操作:
-
只看 IP 和端口(适合调试):
docker inspect nginx-web | jq '.[0].NetworkSettings.Networks.bridge.IPAddress, .[0].NetworkSettings.Ports'(需安装 jq) -
导出为文件便于查阅:
docker inspect nginx-web > nginx-inspect.json -
批量查多个容器(用空格分隔):
docker inspect container1 container2 redis-db











