首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker构建时间参数

Docker构建时间参数
EN

Stack Overflow用户
提问于 2016-09-06 23:20:37
回答 2查看 2.6K关注 0票数 2

我有一堆Dockerfile,它们是使用相同的build命令从一个常见的自动化位置构建的:

代码语言:javascript
复制
docker build -t $name:$tag --build-arg BRANCH=$branch .

一些Dockerfile包含以下内容:

代码语言:javascript
复制
ARG BRANCH=master

该参数用于映像构建的某些步骤。

但是对于一些不需要这个参数的Dockerfile,我最后会得到这个错误:

代码语言:javascript
复制
One or more build-args [BRANCH] were not consumed, failing build.

如果不将参数包含到所有Dockerfile中,我如何克服这个问题?

EN

回答 2

Stack Overflow用户

发布于 2016-09-07 04:14:48

您是否考虑过为分支添加Dockerfile,并使用它的结果来决定是否应该提供ARG?

您可以使用以下内容替换您的自动化构建触发器:

if grep BRANCH Dockerfile; then docker build -t $name:$tag --build-arg BRANCH=$branch .; else docker build -t $name:$tag . ; fi

票数 3
EN

Stack Overflow用户

发布于 2016-09-07 04:33:22

如果不更改您的输入或Dockerfile,我看不到任何有文档记录的方法来避免此错误。robertobado已经涵盖了改变你的输入。作为第二种选择,您可以在Dockerfile的末尾包含一个有效未使用的构建参数,这将对您的构建产生非常小的影响。

代码语言:javascript
复制
ARG BRANCH=undefined
RUN echo "Built from branch ${BRANCH}"

由于这不会修改文件系统,因此我相信映像校验和将是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39352615

复制
相关文章

相似问题

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