Docker + Tomcat + .properties - 环境变量

Ozz*_*dar 7 java environment tomcat netbeans web

我需要部署一个tomcat服务器来设置MySQL数据库URL

/META-INF/config.properties

到docker文件中.我们部署这些容器的方式,IP无法硬编码到程序中.

有没有办法从这个文件中的系统中提取环境变量?我想做这样的事情:

__CODE__

我一直在网上搜索,发现我应该可以设置一些

__CODE__

当启动应用程序但启动带有该标志的tomcat时没有做到这一点,我无法让它工作.

我尝试过的另一件事是:

__CODE__

虽然这似乎也没有做到这一点:(

我也尝试过两个人.

我在Netbeans上运行Xubuntu Linux编程(尽管如果有必要,已经弄清楚如何在没有netbeans的情况下部署tomcat)

我不是申请作者; 我也不是非常流利的Tomcat/Java网络应用程序.然而,这需要完成,并且存在语言障碍(或者拒绝,我还没有弄明白)阻止我让作者为我解决这个问题.

感谢您的帮助! - 保罗

Yur*_*ets 15

我设法解决此问题的方法是在DockerFile中设置CATALINA_OPTS:

ENV CATALINA_OPTS="-Dkey=value"
Run Code Online (Sandbox Code Playgroud)

例如,我的应用程序的整个DockerFile将如下所示:

FROM tomcat:8.0-jre8
ENV spring.profiles.active=dev 
ENV CATALINA_OPTS="-Dkey=value"
ADD myWar.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
Run Code Online (Sandbox Code Playgroud)

  • @Arashsoft - 回答有点晚了,但是是的:`docker run -e CATALINA_OPTS=-Dkey=value --name [docker.container.name] -p 8080:8080 [serviceName]:[tag]` (3认同)