【发布时间】:2018-03-24 17:07:55
【问题描述】:
我有一个 SpringBoot 应用程序,它的 Dockerfile 如下。我有适用于不同环境的 application.properties,例如 local/dev/qa/prod。当我在 IDE 中本地运行应用程序时,我在 VM 选项中传递 -Dspring.profiles.active=local 以便它加载 application-local.properties。为了作为 docker 容器运行,我构建了一个包含所有 application.properties 的图像。即它只是所有环境的相同泊坞窗图像。
当我在环境中运行映像时,我想以某种方式让 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" ]
【问题讨论】:
标签: spring docker spring-boot environment-variables dockerfile