2016-05-25 16 views
1

Ich arbeite jetzt an einem Andock-Projekt mit zwei Andock-Containern - einen für die Oracle-DB und den anderen mit einer Java-Anwendung.Verbinden eines Oracle-DB-Containers und eines Java-Anwendungscontainers (Docker)

Der Container für Orakel db funktioniert ok. Ich habe das bereits erstellte Image für Orakel benutzt und meine Tablespaces und User darin angelegt.

Befehle habe ich zu ziehen und die Oracle-Datenbank-Container verwenden wird, wie nachfolgend beschrieben:

docker pull wnameless/oracle-xe-11g 

docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g 

Jetzt habe ich meine eigene Java-Anwendung, die mit der Oracle-Datenbank interagiert und ich laufe es den unten angegebenen Befehl:

Es wird ein interaktives Java-Programm ausgeführt, das nach den Oracle DB-Details fragt und Benutzern die Interaktion mit der DB ermöglicht.

aber ich konnte nicht herausfinden, wie ich Details angeben wie Treibername, Verbindung URL, Benutzername und Passwort

Die Werte gab ich werden wie unten angegeben:

Treiber Bezeichnung : oracle.jdbc.OracleDriver Verbindungs-URL: jdbc: oracle: thin: @localhost: 1521: orcl11g Benutzername: imtheuser Passwort: **********

Ich weiß nicht, was falsch läuft, aber es funktioniert nicht. habe ich versucht, verschiedene Eingänge für Verbindungs-URL zu geben, nachdem auch die Docker Behälter IP-Adresse Inspektion:

Verbindungs-URL: jdbc: oracle: thin: @172.17.0.2:1521: orcl11g

Geben Sie die Verbindungs-URL und/oder die Portnummer korrekt an? Kann mir jemand helfen, diese beiden Container richtig zu verbinden und das Projekt in Gang zu bringen?

Vielen Dank für Ihre Hilfe ..

+0

Muss dockerlinks https: //docs.docker. com/v1.8/userguide/dockerlinks/ – Rudy

+0

@abrahamjaison hast du es gelöst? Wenn ja, bitte geben Sie eine Antwort – quento

Antwort

0

Sie einen Domain-Namen in Oracle-Verbindungszeichenfolge verwenden kann: oracle.dbhost.com und ein --addhost oracle.dbhost.com:[ip address] verwenden, wenn Ihre Anwendung in Docker ausgeführt wird, oder eine dns konfigurieren Sie die Domänennamen aufzulösen.

1

Sie müssen die Container verknüpfen. Der Orakelbehälter sollte einen Namen haben.

versuchen Sie Folgendes:

docker network create my-network # Create a network for containers 
    docker run -d -p 49160:22 -p 49161:1521 --network my-network --name oracle-db -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g 
    docker run -it --network my-network --name mypgm myrepo/oracletesting 

Verwendung als Verbindungs-URL zu folgenden String jdbc: oracle: thin: @ oracle-db: 1521: orcl11g