如何将 JAVA_OPTS 传递给 docker 容器中的 tomcat?

Posted

技术标签:

【中文标题】如何将 JAVA_OPTS 传递给 docker 容器中的 tomcat?【英文标题】:How can I pass JAVA_OPTS to tomcat in a docker container? 【发布时间】:2019-01-24 21:06:15 【问题描述】:

我想使用某个配置文件运行我的 spring-boot 应用程序。因此,我需要将-Dspring.profiles.active=dev 参数传递给JVM。

我的 dockerfile 看起来像这样:

FROM tomcat:9.0.10-jre8

EXPOSE 8080
ENV JAVA_OPTS="-Dspring.profiles.active=dev"
COPY myapp.war /usr/local/tomcat/webapps/myapp.war

应用程序启动,但似乎没有设置带有配置文件名称的 JVM 选项。 我错过了什么?

【问题讨论】:

【参考方案1】:

只需将其添加到您的 Dockerfile 中即可:-

ENV spring.profiles.active=dev

下面是其他选项,通过添加一个入口点:-

ENTRYPOINT ["java","-Dspring.profiles.active=container","-jar","/app.jar"]

【讨论】:

以上是关于如何将 JAVA_OPTS 传递给 docker 容器中的 tomcat?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Github Secret 作为环境变量传递给 Docker?

如何将环境变量从 docker-compose 传递给项目?

如何将 -mem 传递给 dockerized Play 应用程序

如何将环境变量传递给 mongo docker-entrypoint-initdb.d?

如何将 application.properties 传递给 Docker 容器中的 Spring Boot 应用程序?

将主机的环境变量传递给 dockerfile