Tomcat – Umgebungsvariable an Dateneigenschaften übergeben

Tomcat – Umgebungsvariable an Dateneigenschaften übergeben

Ich versuche, Tomcat in einem Container auszuführen und möchte es DB_HOSTals Umgebungsvariable übergeben.

Ich habe versucht, den Container als zu starten docker run -e DB_HOST='dbhost001' -p 8080:8080 image_id. Aber das scheint nicht zu funktionieren

Data.properties:

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

Antwort1

Herausgefunden.

Fügen Sie unten Folgendes propertyConfigurehinzu 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>

Ändern Sie die Datei db.properties wie folgt:

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

Übergeben Sie die Variable an Tomcat, als CATALINA_OPTS="-Dkey=value"würden Sie Tomcat starten.

In meinem Fall war es ein Docker-Container. Daher hat es funktioniert, ihn wie folgt zu starten.

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

verwandte Informationen