2016-06-22 17 views
0

zum Testen meiner Web-Anwendung Ich baue ein Docker-Setup. In einem Container läuft ein Apache, auf dem das PHP-Frontend deployed wird, ein anderer Container hat die Wildfly mit der eigentlichen Anwendung (java .war-file) und ein dritter Container hat eine Postgresql-DB, die die Daten der Applikation enthält.Zugriff auf Wildfly-Docker-Container von Apache-Docker-Container

Wenn ich jetzt versuche, über einen Browser auf das Frontend zuzugreifen, erhalte ich eine Ausnahme und es teilt mir mit, dass die Wildfliege die Verbindung abgewiesen hat.
fopen (http://172.17.0.3:8080/[...]): konnte nicht geöffnet werden stream: Verbindung abgelehnt Ich bin jetzt ziemlich aus Ideen und wäre ziemlich dankbar für jede Eingabe, die ich bekommen kann. Ich glaube wirklich nicht, dass jemand die perfekte Antwort kennt, aber vielleicht kann ich einige Ideen bekommen, die mich auf den richtigen Weg bringen.

Also ist das wegen der Wildfly-Setup? Einige Authentifizierungsprobleme zwischen den Containern?

Vielen Dank im Voraus

+0

Sind Sie auf Linux oder verwenden Sie Docker für Mac/Docker für Windows/Docker? – GianArb

+0

Debian Linux Linux Version 3.16.0-4-amd64 ([email protected]) (gcc Version 4.8.4 (Debian 4.8.4-1)) # 1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) um ​​genau zu sein;) – Samarek

+0

Können wir Ihren Befehl sehen? – GianArb

Antwort

0
docker run -p 9876:9990 -v /root/share:/root/share --name wildfly --entrypoint=/home/container_start.sh -it wildfly_image 

Dieser Befehl nicht den Port 8080 aussetzt, werden Sie den Port 9876-9876 aussetzt

Sie können versuchen, localhost zu verwenden: 9876

https://docs.docker.com/engine/reference/commandline/port/

Ihr Dienst enthüllt einen HTTP-Server auf 9990?

+0

Die Exposition, soweit ich verstehe, ist eine exponieren Port zu "outside", aber in meinem Setup ist der Port nicht von außen zugänglich, sondern von einem anderen Docker-Container. Also ich denke nicht, dass es offen gelegt werden muss, da es auch über eine "dockerspezifische" IP-Adresse erreichbar ist. Aber fühlen Sie sich frei, mich zu korrigieren – Samarek

+0

Das Problem ist, Sie versuchen, einen Browser zu verwenden, um einen Port aufzulösen, der nichts von Ihrem Container auszusetzen hat, weil Ihr Container mit dem externen nur zwischen dem Port kommunizieren 9876 – GianArb

+0

Nun, wenn Sie es wie das setzen es klingt irgendwie offensichtlich, danke irgendwie habe ich diese Verbindung nicht gemacht, hätte schon aus der IP ersichtlich sein müssen. – Samarek