首页/云/Docker 容器速查/docker images --format 定制输出
镜像与构建107 条

docker images --format 定制输出

用 Go 模板自定义镜像列表字段(仓库、标签、ID、摘要、体积),适合脚本统计与报表;-q 只输出镜像 ID。

Docker 容器速查云更新于 2026-10-13

--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。

易错点

  • 把 --format 输出直接喂给删除命令前先人工过一遍,过滤条件写错会命中预期之外的镜像
  • 脚本里示例的制表符由模板渲染产生,套进二次处理时注意列分隔不要被字段内容破坏
  • 假设 .ID 是完整标识:它只是短 ID,严格比对需要看 Digest 或加 --no-trunc
  • 镜像很多时输出很长,未加过滤直接全量列出会淹没目标,先用 --filter 收窄范围

数据来源与参考

  • Docker 官方 CLI 参考:docker image ls 的 format 占位符(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌