直接用 docker history 命令即可查看镜像构建历史,它按层展开显示每层的 IMAGE ID、CREATED、CREATED BY、SIZE、COMMENT 五列信息,从下往上读(底层为基础镜像,顶层为最后指令),支持 --no-trunc 查看完整命令、--filter "size>0" 过滤空层、--format 自定义输出格式。
直接用 docker history 命令就能查看镜像的构建历史记录,它会把镜像按层展开,显示每层的来源、大小和构建指令。
基础查看:看清每层是谁建的、占多大空间
运行命令即可获得默认格式的分层记录:
docker history nginx:latest
输出包含五列:IMAGE ID、CREATED、CREATED BY、SIZE、COMMENT。顺序是从下往上读——最底层是基础镜像(如 alpine 或 debian),最顶层是你最后写的指令(比如 CMD)。某些层显示 <missing>,通常表示该层来自外部构建或未命中本地缓存。
展开被截断的命令,看清真实执行内容
默认情况下,长命令(例如 RUN apt-get install -y curl vim)会被缩写成 /bin/sh -c ... 并省略后半部分。加 --no-trunc 就能还原完整指令:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
docker history --no-trunc nginx:latest
这对排查是否误留敏感操作(如硬编码密码、未清理的临时文件)特别有用。
过滤空层和臃肿层,聚焦关键变更
-
docker history --filter "size>0" nginx:latest —— 只显示有实际文件变更的层,跳过
ENV、LABEL等元数据层 -
docker history --filter "size>10MB" nginx:latest —— 快速定位体积异常大的层,比如未清理的
apt cache或残留的调试工具
自定义输出格式,方便分析或脚本处理
用 --format 按需提取字段,支持 Go 模板语法:
- docker history --format "{{.CreatedBy}}: {{.Size}}" --no-trunc nginx:latest —— 查看“哪条指令占了多大空间”
- docker history --format "{{.ID}} {{.Size}}" nginx:latest —— 简洁列出层 ID 和大小,适合后续脚本处理
- docker history --format "{{json .}}" nginx:latest > history.json —— 输出结构化 JSON,便于程序解析

















