2017-06-19 5 views
0

Ich bin auf dem gleichen Host ein Tomcat-Container ausgeführt, wo ich eine Webanwendung und einen Oracle-DB-Container bereitgestellt haben. Die Einstellungen, die ich die folgenden Einstellungen bin mit dem Web-App auf die Oracle-DB Container zu verbinden:Verbinden von Web-App zu Oracle DB Docker Container

spring.datasource.url: jdbc:oracle:thin:@<IP of the host>:1521:xe 
spring.datasource.username=sa 
spring.datasource.password= 
spring.datasource.driverClassName=com.mysql.jdbc.Driver 

Als ich den Port 1521 an den Host bin auszusetzen, ich habe erwartet, zu dem einer Verbindung zu der Lage sein, Oracle DB ohne Probleme, außerdem kann ich von meinem Laptop mit dem Oracle DB verbinden, indem ich DbVisualizer mit den oben beschriebenen Einstellungen verwende. Ich bin auch in den Katercontainer gestiegen und habe den Host mit Erfolg gepingt.

Ich weiß, dass ich beide Container verbinden konnte, wenn ich den Befehl "docker run" ausführte, aber ich fragte mich, ob es auch so funktionieren könnte.

Irgendwelche Ideen? Vielen Dank!

Antwort

1

Ein einfacher Weg, dies zu tun Docker-compose verwendet:

Docker-compose.yml

version:'3' 
services: 
    app: 
    // if you got a custom dockerfile 
    build: . 
    links: 
     - db 
    db: 
    image: oracledb 

Die db-Host in Anwendung wird in "db": spring.datasource.url: jdbc:oracle:thin:db:1521:xe

auszuführen kaufte contierier zur gleichen Zeit ist: docker-compose up --build

Ich hoffe, dass Sie es nützlich finden.

+0

Danke Deutsch, ich weiß über Docker komponieren, aber ich dachte, meine Einrichtung sollte auch funktionieren. – despadina

+0

Nur als eine Randnotiz, ist dies nicht wirklich ein Docker-komponieren spezifische Sache. Standardmäßig können alle Container, die mit dem gleichen 'docker network create'-Netzwerk verbunden sind, ihre IP-Adressen nach dem' --name' des Containers auflösen, mit dem Sie eine Verbindung herstellen möchten. Es gibt auch eine Möglichkeit, mit '--net-alias' einen Alias ​​hinzuzufügen. Darunter verwendet docker-compose die Funktion net alias, um einen Alias ​​festzulegen, der mit dem Namen des Dienstes aus der docker-compose-Datei übereinstimmt. – programmerq

Verwandte Themen