--format 定制输出是什么
docker images 的 --format 用 Go 模板把每行镜像渲染成你想要的字段组合:仓库名、标签、镜像 ID、摘要、体积、创建时间都可以挑选,还能配合 table 前缀输出带表头的对齐文本。它的价值在于把「给人看的列表」变成「可被脚本解析的稳定输出」,是清理、巡检与报表类脚本的基础工具。
基本信息
| 语法 | docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}' |
|---|---|
| 常用字段 | Repository、Tag、ID、Digest、Size、CreatedSince、CreatedAt |
| ID 长度 | .ID 是十二位短 ID;.ID 与 --no-trunc 组合可看完整 ID |
| 只取 ID | -q(等价于 --quiet) |
| 过滤条件 | --filter reference=app/*、--filter dangling=true |
| 适用范围 | 镜像列表;容器列表 docker ps 有对应的字段集 |
典型使用场景
- 批量巡检:按仓库前缀列出所有镜像与体积,发现异常增长
- 清理脚本:先用格式化输出确认命中范围,再决定是否删除
- 报表统计:统计每个仓库的镜像数量与总占用
- 交付核对:导出发布镜像的标签与摘要,留档备查
- 多环境比对:确认测试与生产同名标签指向的镜像 ID 是否一致
常用句式
常用句式
# 带表头的对齐输出(table 前缀)
docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedSince}}\t{{.Size}}'
# 只列出指定前缀的镜像标签,便于脚本循环处理
docker images --filter 'reference=app/*' --format '{{.Repository}}:{{.Tag}}'
# 取指定仓库的镜像 ID(供后续操作引用)
docker images -q --filter 'reference=app/web'
# 看完整摘要,用于比对不同环境同名标签是否一致
docker images --no-trunc --format '{{.Repository}}:{{.Tag}} {{.Digest}}'
# 统计悬空镜像数量
docker images -q --filter dangling=true | wc -l常用占位符
| 占位符 | 含义 | 使用建议 |
|---|---|---|
| Repository | 镜像仓库名 | 分组与过滤的基础 |
| Tag | 标签 | 区分版本与构建产物 |
| ID | 十二位短 ID | 同一次构建的多个标签共享同一 ID |
| Digest | 内容摘要 | 跨环境比对更严格 |
| Size | 镜像体积 | 与 CreatedSince 配合看增长 |
| CreatedSince | 相对创建时间 | 定位陈旧镜像 |
脚本里引用镜像建议统一口径:要么全用短 ID,要么全用摘要。短 ID 在不同列表输出中长度一致但不足以做严格比对,摘要更适合校验一致性。
--format 输出是纯文本,字段之间用自己的分隔符区分。用制表符分隔时,若字段内容本身含制表符或空格,二次处理会被打乱,需要按固定列宽或用 -q 只取 ID。