首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dockerfile在COPY =中构建ARG

Dockerfile在COPY =中构建ARG
EN

Stack Overflow用户
提问于 2021-09-23 16:17:42
回答 1查看 1.5K关注 0票数 4

我正在尝试为一个项目设置一个构建过程,并且在COPY命令中使用arg遇到了一个问题。

该过程的一部分是将库构建为图像,由多个其他映像使用。问题发生在以下几行:

代码语言:javascript
运行
复制
ARG BUILD_CONFIG=dev
COPY --from=company/mu_library:${BUILD_CONFIG} /some/path /other/path

根据错误消息,${BUILD_CONFIG}从未被转换为dev。在预先添加回波行时,回送输出dev

代码语言:javascript
运行
复制
ARG BUILD_CONFIG=dev
RUN echo ${BUILD_CONFIG}
COPY --from=company/mu_library:${BUILD_CONFIG} /some/path /other/path

有没有人知道如何绕过它而不创建所有指向不同标记的dockerfile中的重复阶段?

编辑:最小Dockerfile

代码语言:javascript
运行
复制
FROM node:12.15:0 as prod
ARG BUILD_CONFIG=dev
RUN echo ${BUILD_CONFIG}

COPY --from=test/test-library:${BUILD_CONFIG} /work/dist /work/library/dist
CMD[ "bash" ]

错误:invalid from flag value test/test-library:${BUILD_CONFIG}: invalid reference format

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-23 16:48:06

最后,您不能在那里使用build,但是您可以使用多阶段语法在顶层使用它。然后,还需要在顶层定义构建arg:

代码语言:javascript
运行
复制
ARG BUILD_CONFIG=dev
FROM test/test-library:${BUILD_CONFIG} as test-library

FROM node:12.15:0 as prod
ARG BUILD_CONFIG
RUN echo ${BUILD_CONFIG}

COPY --from=test-library /work/dist /work/library/dist
CMD[ "bash" ]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69303602

复制
相关文章

相似问题

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