最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
容器管理如何查看容器的详细元数据与配置信息
时间:2026-08-23 08:10:48 编辑:袖梨 来源:一聚教程网
最直接、最完整的方式是使用 docker inspect 命令,它可获取容器(无论运行或已停止)的底层 JSON 元数据,涵盖网络、挂载、状态、环境变量、启动命令、入口点、镜像关联等全部配置细节,并支持 -f 提取字段、jq 美化或导出文件。
最直接、最完整的方式是使用 docker inspect 命令。它不依赖容器是否运行,只要容器存在(哪怕已停止),就能输出其底层 JSON 格式的全部元数据,涵盖网络、挂载、状态、环境变量、启动命令、镜像关联等所有配置细节。
查一个容器的全部信息
命令简单,支持按名或 ID 查询:
- 用名字:`docker inspect nginx-app`
- 用 ID(前几位即可):`docker inspect a1b2c3`
输出是结构清晰的缩进 JSON,适合快速浏览。注意:已删除的容器无法查询。
精准提取关键字段
不用通读长 JSON,用 -f(即 --format)配合 Go 模板语法直取所需值:
- IP 地址(默认桥接网络):
docker inspect -f '{{.NetworkSettings.IPAddress}}' nginx-app - 端口映射:
docker inspect -f '{{.NetworkSettings.Ports}}' nginx-app - 挂载卷详情:
docker inspect -f '{{.Mounts}}' nginx-app - 当前状态:
docker inspect -f '{{.State.Status}}' nginx-app - 启动命令:
docker inspect -f '{{.Config.Cmd}}' nginx-app - 入口点:
docker inspect -f '{{.Config.Entrypoint}}' nginx-app
字段路径区分大小写,嵌套结构用点号逐级访问;例如自定义网络下的 IP 要写成 .NetworkSettings.Networks.mynet.IPAddress。
增强可读性与复用性
原始 JSON 过长时,可用外部工具辅助处理:
- 用
jq美化并过滤(需提前安装):docker inspect nginx-app | jq '.[0].Config.Env' - 导出到文件再打开:
docker inspect nginx-app > nginx-info.json - 一行显示多个关键项:
docker inspect -f '{{.Name}} {{.State.Status}} {{.NetworkSettings.IPAddress}}' nginx-app
重点字段说明:哪些真正影响容器行为
决定容器实际运行逻辑的核心元数据集中在几个字段:
-
Config:含镜像名、环境变量(
.Env)、默认命令(.Cmd)、入口点(.Entrypoint)、工作目录(.WorkingDir)、暴露端口(.ExposedPorts) -
NetworkSettings:含 IP、网关、所属网络列表(
.Networks)、端口绑定(.Ports) - Mounts:实际生效的数据卷或绑定挂载(宿主机路径 → 容器路径)
-
State:实时状态(
.Status)、启动/停止时间(.StartedAt/.FinishedAt)、健康检查结果(.Health.Status)
不复杂但容易忽略