问题描述
我有一个 Spring Boot 应用程序,它使用配置文件“application-dev.properties”和“application-test.properties”。项目使用Docker容器化,看下面的代码。
运行 'RUN mvn package' 有效,但我想基于其中一个配置文件进行构建。有没有办法实现这一目标?因为“RUN mvn package -Dmaven.test.skip=true -P test”似乎不起作用..
FROM maven:3.3.9-jdk-8-alpine as build-env
copY pom.xml /tmp/
copY settings.xml /root/.m2/settings.xml
copY src /tmp/src/
workdir /tmp/
RUN mvn package -Dmaven.test.skip=true -P test
FROM tomcat:8.0
copY --from=build-env /tmp/target/cbm-server-0.0.1-SNAPSHOT.war $CATALINA_HOME/webapps/cbm- server.war
EXPOSE 8009
EXPOSE 8080
CMD ["catalina.sh","run"]
解决方法
您需要为运行时阶段提供配置文件。 您可以使用环境变量来实现。
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=test"