Estoy intentando ejecutar Tomcat en un contenedor y quiero pasarlo DB_HOST
como 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 propertyConfigure
como servlet xml file
a 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