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 を起動するときと同じように、変数を Tomcat に渡しますCATALINA_OPTS="-Dkey=value"

私の場合は、docker コンテナでした。したがって、次のように起動するとうまくいきました。

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

関連情報