Estou tentando executar o Tomcat em um contêiner e quero passar DB_HOST
como variável de ambiente.
Tentei iniciar o contêiner como docker run -e DB_HOST='dbhost001' -p 8080:8080 image_id
. Mas isso não parece funcionar
Data.properties:
db.machine=${DB_HOST}
db.dbname=users
db.username=test
db.password=test
Responder1
Descobri.
Adicione propertyConfigure
como servlet xml file
abaixo:
<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 o arquivo db.properties como abaixo:
db.machine=${DB_HOST}
db.dbname=users
db.username=test
db.password=test
Passe a variável para o Tomcat como CATALINA_OPTS="-Dkey=value"
ao iniciar o Tomcat.
No meu caso, era o contêiner docker. Então, começar da seguinte maneira funcionou.
docker run-e CATALINA_OPTS="-DDB_HOST=dbhost001" --name tomcat -p 8080:8080 -d tomcat7:0.0.1