我有一个SpringBoot应用程序及其Dockerfile如下。我有不同的环境,如本地/ dev/qa/prod的application.properties。当我在IDE本地运行应用程序,我通过-Dspring.profiles.active =本地在VM选项,以便它加载application-local.properties。为了作为码头容器运行,我构建了一个包含所有application.properties的图像。即它仅适用于所有环境的同一个泊坞窗图像。传递ENV变量来坞窗春引导
当我运行的环境中的形象,我想以某种方式使SpringBoot了解其开发包膜,所以它必须加载application-dev.properties。我正在使用AWS ECS来管理容器。
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/sample-test-sb-sample-app-1.0-exec.jar app.jar
EXPOSE 8080
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
能否请你解释一下?我是Docker的新手。这个环境变量应该在哪里以及它应该何时注入Dockerfile?谢谢! – deejo
已更新我的答案 –