首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用提交的散列构建Docker镜像

如何使用提交的散列构建Docker镜像
EN

Stack Overflow用户
提问于 2019-07-05 18:19:13
回答 2查看 1.1K关注 0票数 1

我正在管理一个Docker管道,它分几个阶段构建GitLab镜像,现在我想在每个Docker镜像中包含一个带有git散列的标签(参见label-schema's vcs-ref label)。

我注意到GitLab已经为环境变量提供了方便的信息(参见Docker中的CI_COMMIT_SHACI_COMMIT_SHORT_SHA ),但我不知道如何将这些环境变量中提供的信息包含在Docker镜像中。有没有人知道是否可以在标签中包含git的提交散列?

EN

回答 2

Stack Overflow用户

发布于 2019-07-17 23:33:47

您需要将提交作为build argument进行传递。

例如,在Dockerfile中:

代码语言:javascript
运行
复制
ARG CI_COMMIT_SHA
LABEL git-commit=$CI_COMMIT_SHA

当你构建的时候:

代码语言:javascript
运行
复制
docker build --build-arg CI_COMMIT_SHA .

如果您不提供变量,例如--build-arg CI_COMMIT_SHA=abc123,那么它将使用相同名称的本地环境变量。

票数 1
EN

Stack Overflow用户

发布于 2019-07-05 18:33:02

在Dockerfile中,使用LABEL

代码语言:javascript
运行
复制
LABEL commit_sha=YOUR_CI_COMMIT_SHA
LABEL commit_short_sha=YOUR_CI_COMMIT_SHORT_SHA

使用docker inspect从图像中获取标签

代码语言:javascript
运行
复制
docker inspect --format='{{.Config.Labels.commit_sha}}' image:tag
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56901150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档