Ich habe lesen docker API und versuchen, einen einfachen Container erstellen und 1 Port freilegen.Expose Container-Port zu Host mit Docker für Windows in Windows 10
In meinem Beispiel habe ich eine Anwendung, die Port 9595
im Inneren des Behälters auf TCP hören und ich möchte es für den Zugriff von außen (das heißt der Wirt des Behälters) auf Port 9090
.
Beim Erstellen des Containers habe ich "ExposedPorts": { "9595/tcp: {}" }
und die "PortBindings": { "9595/tcp": [{ "HostPort": "9090" }] }
.
Also, wenn ich vom Host-Rechner zugreifen es funktioniert! Allerdings, wenn ich http://localhost:9090
zugreifen, das ist, was ich diese Port Kartenfunktion erwarten verwenden, funktioniert es nicht ...
Während docker port containerID
läuft Ich habe 9595/tcp -> 0.0.0.0:9090
und das soll Mittel, when connecting to any IP on the host, at port 9090, forward to the container in port 9595
.
Also, was ist hier falsch? Warum kann ich keine Verbindung zu 9090 herstellen?
Ich bin für alle Klarstellungen dankbar.
Die Frage ist nicht genug Informationen haben. Wir brauchen mindestens den Docker-Befehl, welches Bild verwendet oder die Dockerfile. Windows-Container oder Linux-Container? –
** Docker Remote API ** gegen welche Docker-Engine? Windows-Container? Linux-Container? Sie können keinen Container ohne ein Basisbild ausführen. Welches Bild? Sie haben die ** Docker Remote API ** aufgerufen, wie Sie es nannten? Es ist ein resfful richtig? Welchen Befehl hast du benutzt? Ich kann nicht ** wissen ** über das, was Sie fragen, wenn Sie nicht ** GENUG ** Informationen geben. –
Sorry, ich wollte nicht unhöflich Carlos sein, aber keiner Ihrer Kommentare war relevant für die Frage. Es ist egal für welche Frage das Bild ist. Was wichtig ist, ist, dass ich nach der API-Dokumentation Port 9090 außerhalb des Containers ausgesetzt und Port 9595 innerhalb des Containers zugeordnet hat und das nicht funktioniert.Netsh wirkt sich nicht auf das Verhalten oder die Konfiguration des Containers aus. –