docker image inspect 是查看镜像最完整结构化信息的基础命令,支持输出全量 JSON 或通过 --format 提取 ID、创建时间、OS/架构、端口、环境变量、工作目录、Labels、Entrypoint/Cmd 等关键字段,并配合 docker history 查看分层构建详情。
直接用 docker image inspect 就能查到镜像最完整的结构化信息,包括配置、元数据、分层、环境变量、启动命令等,比 docker images 显示的概要信息深入得多。
这是最基础也最常用的方式,返回一个标准 JSON 对象:
docker image inspect nginx:alpine —— 查指定镜像(支持镜像名或 ID)docker image inspect --format='{{json .}}' nginx —— 强制输出格式化 JSON,便于脚本解析用 --format 参数配合 Go 模板语法,跳过冗长 JSON,直取关键值:
docker image inspect --format='{{.Id}}' nginx
docker image inspect --format='{{.Created}}' ubuntu:22.04
docker image inspect --format='{{.Os}}/{{.Architecture}}' alpine
docker image inspect --format='{{json .Config.ExposedPorts}}' redis
docker image inspect --format='{{json .Config.Env}}' python:3.11-slim
docker image inspect --format='{{.Config.WorkingDir}}' node:18
了解镜像是怎么一层层做出来的,对优化体积和排查问题很有帮助:
docker history nginx —— 显示每层的大小、创建命令、时间docker history --no-trunc nginx —— 展开完整命令,不截断docker history --human=true nginx —— 以易读格式显示时间等信息有些信息不在 inspect 默认字段里,但藏在配置或标签中:
docker image inspect --format='{{json .Config.Labels}}' myapp:v2
docker image inspect --format='{{json .Config.Entrypoint}} {{json .Config.Cmd}}' busybox
docker run --rm nginx ls -la /usr/share/nginx/html
dive 工具:dive nginx:latest