如何为Jenkins Docker API构建的Docker镜像添加标签?
给Jenkins构建的Docker镜像添加标签的两种方法
方法1:使用Jenkins Docker API的tag()方法
这是最适配你现有代码的方案,直接调用构建返回的镜像对象的tag()方法,就能快速添加新标签:
node { stage("build") { checkout scm def customImage = docker.build("my-image:${env.BUILD_ID}") // 添加基础latest标签 customImage.tag("my-image:latest") // 如果要推送到私有仓库,标签需包含仓库地址 // customImage.tag("registry.example.com/my-image:v${env.BUILD_ID}") } }
方法2:使用原生docker tag命令
如果你更习惯用Docker原生命令,也可以通过Jenkins的sh步骤执行标签添加操作:
node { stage("build") { checkout scm def baseTag = "my-image:${env.BUILD_ID}" docker.build(baseTag) // 执行shell命令添加新标签 sh "docker tag ${baseTag} my-image:latest" } }
注意事项
- 两种方式都是在本地镜像仓库创建指向原镜像的引用,不会重新构建镜像,效率很高
- 如果后续需要推送镜像到远程仓库,标签必须符合仓库的命名规则(比如私有仓库需要包含仓库域名)
内容的提问来源于stack exchange,提问作者user51
相关产品推荐
相关产品推荐

