docker inspect 命令可查看容器完整元数据,输出json格式,包含网络、挂载、状态、镜像、启动命令等;支持-f格式化提取字段、jq美化、导出文件等方式提升可读性与实用性。

直接用 docker inspect 命令就能查看容器的完整元数据,它输出的是 JSON 格式,包含网络、挂载、状态、镜像、启动命令等全部配置信息。
基础用法:查看完整元数据
运行以下命令,替换 CONTAINER_NAME_OR_ID 为实际容器名或 ID:
docker inspect CONTAINER_NAME_OR_ID
例如:
docker inspect nginx-web 或 docker inspect a1b2c3d4e5f6
输出会很长,包含容器所有底层配置。默认以缩进 JSON 形式展示,可读性尚可,适合快速浏览。
提取特定字段:用 -f 格式化输出
如果只关心某个值(比如 IP 地址、端口映射、挂载路径),用 --format(简写 -f)配合 Go 模板语法更高效:
- 查看容器 IP(桥接网络下):
docker inspect -f '{{.NetworkSettings.IPAddress}}' nginx-web - 查看绑定的宿主机端口:
docker inspect -f '{{.NetworkSettings.Ports}}' nginx-web - 查看挂载卷详情:
docker inspect -f '{{.Mounts}}' nginx-web - 查看启动命令:
docker inspect -f '{{.Config.Cmd}}' nginx-web - 查看状态和健康检查:
docker inspect -f '{{.State.Status}} {{.State.Health.Status}}' nginx-web
注意:字段路径区分大小写,嵌套结构用点号逐级访问(如 .NetworkSettings.Networks.bridge.IPAddress)。
导出并格式化查看:提升可读性
原始 JSON 不易阅读,可结合工具处理:
- 用
jq美化并过滤(需提前安装):docker inspect nginx-web | jq '.'或docker inspect nginx-web | jq '.[0].NetworkSettings.Ports' - 保存到文件再查看:
docker inspect nginx-web > container-info.json,之后用编辑器或cat查看 - 只显示关键运行时信息:
docker inspect --format='{{.Name}} {{.State.Status}} {{.NetworkSettings.IPAddress}}' nginx-web
常见注意事项
容器必须存在(无论是否运行中),inspect 都能查;但已删除容器无法查询。
若容器使用自定义网络(如 docker network create mynet),IP 地址在 .NetworkSettings.Networks.mynet.IPAddress 下,而非顶层 .IPAddress 字段。
部分字段(如 .HostConfig.Binds)反映创建时的参数,而 .Mounts 显示当前生效的挂载列表,二者可能不一致(尤其用了 docker update 后)。
对正在运行的容器,.State 中的 Status、StartedAt、FinishedAt 等字段实时反映生命周期状态。











