/META-INF/config.properties
存入docker文件中。以我们部署这些容器的方式,IP不能被硬编码到程序中。
有没有办法在这个文件中从系统中拉出环境变量?我想做这样的事情:
mdms.db.url=jdbc:mysql://**${MYSQL_HOST}**/db_mdms?useEncoding=true&characterEncoding=UTF-8&autoReconnect=true
mdms.db.username=root
mdms.db.password=thesecretsauce我一直在网上搜索,发现我应该可以设置一些
-DMYSQL_HOST=$MYSQL_HOST在启动应用程序时,使用该标志启动tomcat并没有起到作用,我也无法让它正常工作。
我尝试过的另一件事是:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="/WEB-INF/config.properties"/>
<property name="ignoreResourceNotFound" value="true" />
<property name="searchSystemEnvironment" value="true" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>我也同时尝试了这两种方法。
我在Netbeans中运行Xubuntu Linux编程(尽管我已经想出了如何在没有netbeans的情况下部署tomcat,如果有必要的话)
我不是应用程序的作者;我也不是非常精通Tomcat/Java web应用程序。然而,这需要完成,并且有一个语言障碍(或者拒绝,我还没有弄清楚)阻止我让作者为我解决这个问题。
发布于 2016-02-27 00:25:45
我设法解决这个问题的方法是在DockerFile中设置CATALINA_OPTS:
ENV CATALINA_OPTS="-Dkey=value"例如,我的应用程序的整个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"]https://stackoverflow.com/questions/33583330
复制相似问题