首页 > 解决方案 > 有条件地复制多阶段 dockerfile 中的文件

问题描述

我需要从以前的 docker 阶段和 Dockerfile 的基本文件夹中复制文件。这是我的副本

COPY if [ "$BASE_IMAGE" = "external" ] ; then COPY --from=BUILD $TMP_LOCATION/*.properties $DEPLOYMENT_LOCATION \
               ; COPY --from=BUILD $TMP_LOCATION/*.xml $DEPLOYMENT_LOCATION \
               ; COPY standalone.conf /opt/wildfly/bin ; fi

得到#6 0.410 /bin/sh: COPY: command not found. 请找到我的 Dockerfile

#########
# BUILD #
#########

ARG BASE_IMAGE
FROM maven:3.6.3-jdk-11 AS BUILD
RUN mkdir /opt/trunk
RUN mkdir /opt/tmp
WORKDIR /opt/trunk
RUN --mount=target=/root/.m2,type=cache
RUN --mount=source=.,target=/opt/trunk,type=bind,rw mvn clean package && cp -r /opt/trunk/out/app.ear /opt/tmp

##################
# Dependencies #
##################

FROM $BASE_IMAGE
ARG IMAGE_TYPE
ENV DEPLOYMENT_LOCATION /opt/wildfly/standalone/deployments/app.ear
ENV TMP_LOCATION /opt/tmp/app.ear

ARG BASE_IMAGE
            
COPY if [ "$BASE_IMAGE" = "external" ] ; then COPY --from=BUILD $TMP_LOCATION/*.properties $DEPLOYMENT_LOCATION \
               ; COPY --from=BUILD $TMP_LOCATION/*.xml $DEPLOYMENT_LOCATION \
               ; COPY standalone.conf /opt/wildfly/bin ; fi

标签: dockerdockerfilecopy

解决方案


推荐阅读