首页/云/Docker 容器速查/镜像 OCI 标签与元数据
镜像与构建107 条

镜像 OCI 标签与元数据

通过构建参数或 Dockerfile 的 LABEL 写入 OCI 标准元数据(版本、来源、修订号等),便于资产盘点与供应链信息记录。

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

标签写的是什么

docker build --label 或 Dockerfile 的 LABEL 指令把键值对写进镜像配置,随镜像一起分发。按 OCI 约定使用 org.opencontainers.image.* 前缀,会让镜像在仓库界面、漏洞扫描器与资产盘点工具里被自动识别出版本、来源与许可证,而不是只靠人工维护一张对照表。标签只改元数据,不产生新的镜像层。

基本信息

写入方式Dockerfile 的 LABEL 键=值 或 docker build --label 键=值
标准前缀org.opencontainers.image.*
查看docker image inspect --format {{json .Config.Labels}}
影响面仅镜像元数据,不影响运行时行为

典型使用场景

  • 供应链溯源:让扫描器与仓库页面直接显示版本、修订号与源码地址,减少人工比对
  • 资产盘点:批量 inspect 导出标签,统计在跑的都是什么版本、谁维护
  • 发布记录对齐:把构建时的提交号写进镜像,出问题时能快速定位到代码版本
  • 许可证合规:把 licenses 标签写进镜像,盘点分发的许可证类型
  • 流水线自动注入:在 CI 里用构建号与提交号生成标签,避免手工填写遗漏

构建与核对

构建与核对
# 构建时注入标准元数据
docker build \
  --label org.opencontainers.image.version=1.4.2 \
  --label org.opencontainers.image.revision=abc1234 \
  --label org.opencontainers.image.source=https://git.example.com/team/app \
  -t app/web:1.4.2 .

# 读回标签核对
docker image inspect app/web:1.4.2 --format '{{json .Config.Labels}}'

# 只取版本与修订号,便于写进发布记录
docker image inspect app/web:1.4.2 --format '{{index .Config.Labels "org.opencontainers.image.revision"}}'

常用键对照

键含义典型取值
org.opencontainers.image.version对外版本号1.4.2 或 git describe 结果
org.opencontainers.image.revision源码修订号流水线里的提交 SHA
org.opencontainers.image.source源码仓库地址内部 Git 仓库 URL,供扫描器关联
org.opencontainers.image.licenses许可证标识Apache-2.0 等
org.opencontainers.image.created构建时间戳会让构建产物不稳定,慎用
created 一类随时间变化的标签会破坏构建的可复现性,如果镜像需要做分层缓存校验或产物比对,这一项先不要写。
标签值随镜像分发给每一个拉取者,内部主机名、跳板地址、临时凭据这类信息不要写进去。
标签是声明式信息,不参与签名校验:镜像被重新构建、内容变化而标签没变的情况并不罕见,做完整性判断要回到 digest 与仓库的不变标签策略上。

易错点

  • 把凭据或内部地址写进标签:任何能拉取该镜像的人都读得到,等于变相泄露
  • 版本号靠人工更新:忘记随构建改写会让溯源信息失真,交给流水线变量注入更可靠
  • 用标签替代签名与校验:标签只是自述信息,可被任意改写,完整性要靠 digest 固定
  • 同名键重复定义:后写的覆盖先写的,Dockerfile 与命令行同时指定时要确认最终值
  • 多阶段构建里只在某个阶段写标签:只有最终阶段的标签会进入成品镜像,中间阶段的定义不会保留
  • 把标签当运行时开关:它不参与应用逻辑,指望靠读标签控制启动行为需要应用自己实现

数据来源与参考

  • OCI Image Spec:annotations 与 Docker 官方 label 约定(opencontainers.org / docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌