我正在尝试为一个项目设置一个构建过程,并且在COPY命令中使用arg遇到了一个问题。
该过程的一部分是将库构建为图像,由多个其他映像使用。问题发生在以下几行:
ARG BUILD_CONFIG=dev
COPY --from=company/mu_library:${BUILD_CONFIG} /some/path /other/path根据错误消息,${BUILD_CONFIG}从未被转换为dev。在预先添加回波行时,回送输出dev。
ARG BUILD_CONFIG=dev
RUN echo ${BUILD_CONFIG}
COPY --from=company/mu_library:${BUILD_CONFIG} /some/path /other/path有没有人知道如何绕过它而不创建所有指向不同标记的dockerfile中的重复阶段?
编辑:最小Dockerfile
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
发布于 2021-09-23 16:48:06
最后,您不能在那里使用build,但是您可以使用多阶段语法在顶层使用它。然后,还需要在顶层定义构建arg:
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" ]https://stackoverflow.com/questions/69303602
复制相似问题