Я не уверен, что то, что вы пытаетесь сделать, требует многоэтапной сборки.Вместо этого вы можете использовать пользовательское базовое изображение (для dev), которое будет вашим первым блоком кода, и использовать это базовое изображение для производства.
Если первое изображение было помечено как shanmukh/wildfly:dev
:
FROM shanmukh/wildfly:dev
USER jboss
RUN rm /opt/wildfly/install/wildfly-scripts/Setup.cli
RUN mv /opt/wildfly/install/wildfly-scripts/SetupforTest.cli /opt/wildfly/install/wildfly-scripts/Setup.cli
RUN rm /opt/wildfly/install/wildfly-scripts/Properties.properties
RUN mv /opt/wildfly/install/wildfly-scripts/Properties-test.properties /opt/wildfly/install/wildfly-scripts/Properties.properties
Это может быть помечено как shanmukh/wildfly:prod
.
Причина, по которой я не думаю, что вам нужна многоступенчатая сборка, заключается в том, что вы упомянули, что пытаетесьработать с двумя средами (тестовая и производственная).
Даже если вы хотите сказать, использовать многоступенчатую сборку для производства, то, как я вижу, нет причин для этого.Если ваш начальный этап сборки включал в себя установку зависимостей сборки, таких как компилятор, копирование кода и его сборку, то было бы эффективно использовать многоэтапную сборку, так как конечный образ не будет включать исходные зависимости (такие как компилятор и другие.потенциально опасные инструменты разработчика) или любые ненужные артефакты сборки, которые были произведены.
Надеюсь, это поможет.