Tomcat: pase la variable de entorno a Propiedades de datos

Tomcat: pase la variable de entorno a Propiedades de datos

Estoy intentando ejecutar Tomcat en un contenedor y quiero pasarlo DB_HOSTcomo una variable de entorno.

Intenté iniciar el contenedor como docker run -e DB_HOST='dbhost001' -p 8080:8080 image_id. Pero eso no parece funcionar

Data.properties:

db.machine=${DB_HOST}
db.dbname=users
db.username=test
db.password=test

Respuesta1

Lo averigué.

Agregue propertyConfigurecomo servlet xml filea continuación:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="searchSystemEnvironment" value="true" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>

Modifique el archivo db.properties como se muestra a continuación:

db.machine=${DB_HOST}
db.dbname=users
db.username=test
db.password=test

Pase la variable a Tomcat como CATALINA_OPTS="-Dkey=value"al iniciar Tomcat.

En mi caso fue el contenedor acoplable. Entonces comenzarlo de la siguiente manera funcionó.

docker run-e CATALINA_OPTS="-DDB_HOST=dbhost001" --name tomcat -p 8080:8080 -d tomcat7:0.0.1

información relacionada