Tomcat — передать переменную среды в свойства данных

Tomcat — передать переменную среды в свойства данных

Я пытаюсь запустить tomcat в контейнере и хочу передать его DB_HOSTкак переменную окружения.

Я пробовал запустить контейнер как docker run -e DB_HOST='dbhost001' -p 8080:8080 image_id. Но это, похоже, не работает

Data.properties:

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

решение1

Догадаться.

Добавьте propertyConfigure, как servlet xml fileпоказано ниже:

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

Измените файл db.properties, как показано ниже:

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

Передайте переменную tomcat так же, как CATALINA_OPTS="-Dkey=value"при запуске tomcat.

В моем случае это был контейнер docker. Поэтому запуск следующим образом сработал.

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

Связанный контент