2017-02-07 6 views
1

Auf meinem Computer verwende ich eine Anwendung in Docker (sie läuft unter http://localhost:8181).So stellen Sie eine Anfrage an den Server, der auf dem Andockfenster ausgeführt wird

Ich habe Docker mit docker run -p 8181:8181 myapp gestartet.

Nach einigem Suchen habe ich versucht, meine Anfrage an die Ausgabe von docker0 zu senden, wenn ich ifconfig, die 172.17.0.1 ist, und die IP meines Computers ausführen. Ich habe auch versucht, localhost und 0.0.0.0: http://<ip>:8181/myapp. Ich benutze Ubuntu 16.04.

Wie kann ich eine Anfrage an den Server in Docker?

+1

http: // localhost: 8181/myapp sollte funktioniert haben. Was genau ist passiert, als du es versucht hast? – jwodder

Antwort

2

Ändern Sie Ihre Anwendung von hören auf localhost: 8181 zu hören auf 0.0.0.0:8181. Die Docker-Port-Zuordnung wird an die IP des Containers weitergeleitet, nicht an die Loopback-Schnittstelle innerhalb des Containers. Daher muss Ihre App alle Schnittstellen überwachen.

Dann führen Sie Ihre Behälter, wie Sie mit dem Port-Mapping-Option, die im Inneren des Behälters 8181 auf dem Host mit dem gleichen Port-Karten:

docker run -p 8181:8181 myapp 

Schließlich verbinden Sie mit der IP-Adresse Ihres Docker Host auf Port 8181 für den Zugriff auf die Anwendung. Bei neueren Versionen von Docker für Win/Mac und allen Versionen der Linux-Installation kann dies localhost: 8181 auf Ihrem Host sein. Wenn Sie docker-machine (mit docker-toolbox) verwenden, muss diese IP-Adresse Ihr Remote-Docker-Host oder VM sein. Diese IP-Adresse wird in docker-machine ls aufgelistet.

+1

Dies löste das Problem! Vielen Dank :) – user16655

Verwandte Themen