コンテナ内で 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