如何在 docker run 命令中将 Java 选项/变量传递给 Springboot 应用程序解决方案 1解决方案 2
我有一个Spring Boot应用程序,它使用配置文件在不同的环境中进行配置。我想将此配置文件信息作为参数传递给我的命令。我该怎么做?docker run
这是我的 dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/demo-app-1.0-SNAPSHOT.jar
COPY ${JAR_FILE} /opt/lib/demo-app.jar
EXPOSE 80
# ENTRYPOINT ["java","-Dspring.profiles.active=dockerdev","-jar","/opt/lib/demo-app.jar"]
# Above line works, but not desired as profile will change in diff envs
ENTRYPOINT ["java","-jar","/opt/lib/demo-app.jar"]
我已经尝试了以下方法,但是,没有一个有效
docker run -p 8000:80 demo-app -Dspring.profiles.active=dockerdev
docker run -p 8000:80 demo-app --rm -e JAVA_OPTS='-Dspring.profiles.active=dockerdev'
请帮忙。
澄清:我正在使用多个配置文件。因此,我不希望在应用程序或 docker 文件中提及活动配置文件。相反,我想使用相同的应用程序和 docker 文件,并在不同的环境中运行它,并传递要在 docker run 命令中使用的活动配置文件。如果上面有任何没有澄清这一点,请道歉。