Tag: 属性

Tomcat的Spring应用程序属性与docker容器链接

我一直在玩docker。 我有我的MySQL容器 docker run –name mymysql -d mysql / mysql-server:5.6 我的应用程序部署在我的Tomcat容器 docker运行 – 链接mymysql:mysql -d我的tomcat 在tomcat容器中,我可以看到(因为链接) .. MYTOMCAT_PORT_8080_TCP_ADDR=172.17.0.55 .. and in the /etc/hosts 172.17.0.55 mysql 在我的Spring应用程序中,我用这种方式pipe理属性 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:${env}/myapp.properties</value> </list> </property> </bean> 其中取决于configuration(propvariables在tomcat的JAVA_OPTS中设置-Denv = qa) 在qa / myapp.properties我有例如mysql链接 databaseUrl=jdbc:mysql://mysql:3306/mydb “mysql”是mysql docker镜像的名称,和tomcat容器的/ etc / hosts中的一样 我想知道如果我处理的东西的方式被认为是良好的做法? 有一个更容易/更聪明的方式来处理属性? 事实上,我的Java应用程序与我的docker的图像的名称强烈联系在一起。 我想有一种运行在tomcat容器上的脚本,它使用/ etc / hosts值的ENVvariables(MYTOMCAT_PORT_8080_TCP_ADDR)即时生成最终的may.properties。 这是一个更好的解决scheme吗?

为什么docker tomcat没有使用共享目录中的属性文件覆盖war属性文件?

我用下面的docker脚本启动了一个Tomcat docker容器: FROM tomcat:7-jre7 #Get the config into the shared directory before the tomcat classloader does a sweep – kill tomcat for now CMD ["catalina.sh", "stop"] #Override the properties with a shared dir ADD catalina.properties /usr/local/tomcat/conf/catalina.properties ADD application.properties /usr/local/tomcat/properties/application.properties ADD application.war /usr/local/tomcat/webapps/ EXPOSE 8080 CMD ["catalina.sh", "run"] 这是标准的Catalina属性文件 。 这是我改变的唯一线路: shared.loader=/usr/local/tomcat/properties 其他信息 – 在war文件的根目录下有一个稍微版本的application.properties 。 […]