Um die Verbindung zur Datenbank arbeiten ich eine Netzwerkbuchse verwenden, die in meinem angegeben hibernate.cfg.xml
als:Wie Hibernate ORM Datenbankeigenschaften zu konfigurieren, um mit Docker
<property name="connection.url">jdbc:postgresql://localhost:PORT/DBNAME</property>
zusammen mit Benutzername, Passwort:
<property name="connection.username">user</property>
<property name="connection.password">pass</property>
Ich möchte Docker für die Bereitstellung verwenden.
Mein Problem ist, dass ich derzeit den Quellcode (z. B. Hibernate.cfg.xml) ändern muss, und reproduzieren eine neue WAR-Datei jedes Mal, wenn ich neu bereitstellen möchte.
Gibt es eine Möglichkeit, dies zu vermeiden? Kann ich die gleiche WAR-Datei verwenden und eine dynamische Verknüpfung zu einer Datenbank über Docker herstellen?
Ich glaube, ich könnte eine Konfigurationsdatei haben (so etwas wie .env), das die db-Anmeldeinformationen enthalten würde und haben sowohl Java und Docker dies lesen, aber ich jetzt nicht Docker so zu konfigurieren,
Was verwenden Sie für einen Java EE-Server? –
mein Stack ist Hibernate, Postgresql, Tomcat, Nginx (als Reverse-Proxy für Tomcat) – chefarov
Hauptsächlich mein Problem war, dass Docker -env-Datei am Docker Run unterstützt, aber nicht am Docker Build, aber ich landete Env-Variablen in Dockerfile mit ENV-Befehl (nicht die beste Vorgehensweise). Wenn ich dies mit andrepnhs Antwort kombiniere, kann ich dieses Problem lösen. – chefarov