2016-11-17 3 views
2

Ich habe versucht, einen Port aus dem Docker-Container, auf dem mein Server läuft, auf meinem Mac-Host anzuzeigen, damit mein Browser auf dem Host darauf zugreifen kann.Docker-Container, die Probleme haben, Ports auf dem Host auf dem Mac anzuzeigen

Ich könnte Befehl verwenden, um einen Port freizugeben. Das funktioniert sicherlich auf einem Linux-Host (ich habe das die ganze Zeit vorher ohne Probleme gemacht). Aber nie auf meinem Mac gearbeitet. Mit "nie funktioniert", ich meine, dass keine Ports von der Containerseite überhaupt belichtet werden, obwohl die docker ps Befehle das Mapping wie dieses 0.0.0.0:32769->8080/tcp zeigten. Aber nichts könnte verbunden sein.

Also frage ich mich, ob es irgendwelche Extra-Konfiguration gibt, die ich tun muss, um es geschehen zu lassen. Ich verwende macOS Sierra 10.12 und Docker Version 1.11.1, Build 5604cbe.

Irgendwelche Eingaben werden geschätzt! Vielen Dank!

+0

Testen Sie lokal oder von einem anderen Computer im Netzwerk? Wenn Sie versuchen, eine Verbindung von einem anderen Host herzustellen, handelt es sich wahrscheinlich um ein Firewall-Problem. –

+0

Verwenden Sie den "nativen" Docker für Mac oder Docker Machine? – nwinkler

Antwort

1

Wenn Sie die Docker Toolbox verwenden, müssen Sie sicherstellen, dass Sie die richtige IP-Adresse der Docker-Maschine erhalten.

docker run -d -p 8080:80 --name webserver nginx

Finden Sie die richtige IP mit docker-machine ip. Sie könnten 192.168.99.100 erhalten.

Dann können Sie es überprüfen, indem Sie den Webbrowser http://192.168.99.100:8080/ mit Proxy öffnen. Wenn Sie Docker für Mac verwenden, lesen Sie bitte diese docs.

+0

Vielen Dank! Das funktioniert! – Lincong

+0

@Lincong, gern geschehen! – Tuan