2016-03-26 8 views
-1

Wenn ich einen Server in meinem Andockfenster mit "-p 8000: 8000", "-p 8000" oder "--expose 8000" I ausführen kann nur mit ihm verbinden, aber es scheint nicht in der Lage zu sein, zurück zu antworten. Vor allem ist es nicht das klassische localhost-> 0.0.0.0 problematisch, da ich nur 0.0.0.0 als Host verwende. Ich habe versucht mit Flask und "python -m SimpleHTTPServer" und keiner funktioniert. Ein anderes interessantes (und wahrscheinlich damit in Zusammenhang stehendes) Problem ist, dass ich von der Docker-Instanz überhaupt nicht mit der Außenwelt Kontakt aufnehmen kann. Z.B. Wenn ich Ping 8.8.8.8 ausführen bekomme ich einen nicht erreichbaren Host.Docker aussetzen/veröffentlichen (nicht einfach localhost-> 0.0.0.0 Lösung)

bearbeiten

Die simpelst Art, wie ich den Fehler replizieren kann, ist Machen Sie ein Bash-Skript namens Läufer, die die folgenden ping -c 2 8.8.8.8

Aufruf haben

sudo docker run -v ${PWD}:/app -w /app ubuntu ./runner

im selben Verzeichnis wie das Skript. Diese geben die folgende Ausgabe

PING 8.8.8.8 (8.8.8.8): 56 data bytes 92 bytes from c2fc631db1cd (172.17.0.49): Destination Host Unreachable 92 bytes from c2fc631db1cd (172.17.0.49): Destination Host Unreachable --- 8.8.8.8 ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss

+1

Können Sie Ihre Systeminformationen (Host-Betriebssystem, Docker-Version) und die Schritte zur Reproduktion des Problems (verwendete und ausgegebene Befehle) bereitstellen? – jonatan

+0

Ich benutze Ubuntu 15.04 Desktop als Host und Ubuntu: zuletzt bin ich die Instanz – Smarties89

Antwort

0

ich endlich eine Lösung gefunden. Anscheinend kann Docker seine Netzwerkschnittstelle auf eine seltsame Weise blockieren. Dies gibt die Illusion, dass Sie nicht korrekt weiterleiten, aber in Wirklichkeit können Sie keine Richtung kommunizieren, wenn Sie die Netzwerkschnittstelle verwenden. Die Lösung besteht darin, den Docker-Dienst (nicht den Computer) neu zu starten. Dies kann in Ubuntu (möglicherweise anderen Linux-Distributionen) mit sudo service docker restart erfolgen.

Verwandte Themen