Docker versteckt den Port auf MacOS
Hier ist die Geschichte. Ich habe eine (Scala) -Anwendung, die in einem Docker ausgeführt wird und docker-compose.yml
wie folgt definiert ist :
app: image: dmydlarz/foobar ports: - "9000:9000"
Wenn es mit Docker beginnt, lauscht es an Ports nach lsof -PiTCP -sTCP:LISTEN
:
com.docke 631 darek 25u IPv4 0xd4ed8c6c9c16c231 0t0 TCP *:9000 (LISTEN) com.docke 631 darek 26u IPv6 0xd4ed8c6c9c20bae9 0t0 TCP localhost:9000 (LISTEN)
Wie Sie sehen können, hört es sowohl auf Ip4 als auch auf Ip6 zu.
Wenn ich nun meine Anwendung von der Kommandozeile / IntelliJ aus ausführe, wird sie erfolgreich gestartet und hört auch auf Port 9000 (!).
Wenn ich offene Ports aufliste, habe ich Folgendes:
com.docke 631 darek 25u IPv4 0xd4ed8c6c9c16c231 0t0 TCP *:9000 (LISTEN) com.docke 631 darek 26u IPv6 0xd4ed8c6c9c20bae9 0t0 TCP localhost:9000 (LISTEN) java 53995 darek 249u IPv6 0xd4ed8c6c7ec3d8e9 0t0 TCP localhost:9000 (LISTEN)
3 Prozesse warten auf Port 9000, 2 auf demselben Protokoll Ip6.
In einem solchen Setup bedient die Dockeranwendung immer Anforderungen. Bedeutet immer für alle URLs, die ich ausprobiert habe:
curl http://[::1]:9000/...
curl http://127.0.0.1:9000/...
curl http://localhost:9000/...
Wenn ich die Andockanwendung töte, werden Anforderungen von der lokalen App bedient.
Ich habe die Docker-Anwendung gezwungen, nur auf Ip4 mit der angegebenen Bindungsadresse zu starten:
app: image: dmydlarz/foobar ports: - "127.0.0.1:9000:9000"
die verhindern, dass zwei Prozesse gleichzeitig gestartet werden, aber das bisherige Verhalten ist für mich völlig umständlich.
Ich habe also 2 Fragen:
- Warum versteckt Docker den Port auf einem lokalen Computer? Warum wird das Starten der lokalen App am selben Port nicht blockiert, und Anfragen können abgestellt werden, wenn die Docker-App beendet wird?
- Warum konnte ich 2 Anwendungen mit demselben Protokoll (IP6) und demselben Port starten?
0 Antworten auf die Frage
Verwandte Probleme
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
5
XP-Netzwerkverbindung ohne Neustart freigeben?
-
5
Wie richte ich Windows ein, 802.11 gegenüber 3G zu bevorzugen?
-
4
Gibt es eine Möglichkeit, den Scanner eines Multifunktionsdruckers gemeinsam zu nutzen?
-
3
Gibt es eine Möglichkeit, zwei Computer über USB anzuschließen?
-
3
Wie halten Sie mehrere Verbindungen zum Internet?
-
4
iPod-Touch zum Abspielen von Filmen vom PC auf der PS3?
-
2
Mac tritt der Windows-Arbeitsgruppe nicht bei
-
1
Wie kann ich die Sicherheit meines Portals erhöhen?
-
1
Wie vernetzt man Windows XP und Ubuntu Linux?