Zu diesem Zeitpunkt ist Docker Machine eine virtuelle Maschine, die unter VirtualBox auf Ihrem Computer ausgeführt wird. Um Ihren Anwendungsport verfügbar zu machen, müssen Sie den Port Ihrer virtuellen Maschine Ihrem Host-Port zuordnen.
Um dies zu erreichen gibt es zwei Möglichkeiten, aber bevor sicherstellen, dass Ihr Docker Maschine läuft gestoppt wird:
docker-machine stop default # see PS below if docker machine isn't default
Option 1 - Verwenden Sie die VirtualBox-Schnittstelle
- öffnen VirtualBox-Manager
- Wählen Sie Ihr Docker Machine VirtualBox Bild (zB: Standard)
- Öffnen Sie Einstellungen -> Netzwerk -> Erweitert -> Port Forward
- Fügen Sie Ihren App-Namen, um den gewünschten Host-Port (zB: 80) und den Gästehafen (zB: 3000)
Option 2 - Verwenden Sie die VirtualBox-Befehlszeile
einfach den folgenden Befehl mit Ihren eigenen Parametern ausführen:
VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000"
Abschließende Überlegungen
Jetzt können Sie Ihre Docker Maschine läuft starten:
docker-machine start default
eval $(docker-machine env default)
Dann einfach Ihre Anwendung Docker Container starten und testen Sie es http://localhost/ läuft.
S.S .: Der Name Ihres Docker-Computers darf nicht default lauten, in diesem Fall ändern Sie den Namen entsprechend.
Aus all den Antworten, die ich untersucht habe, ist dies die, die mir geholfen hat. +1 – Tagc
Es ist nicht notwendig, zuerst "docker-machine stop" auszuführen. Dies könnte sich seit der Veröffentlichung der Antwort geändert haben, aber es war zumindest in den letzten Monaten der Fall. – toddkaufmann
Gibt es keine Möglichkeit, alle/alle Ports dem Docker Host in der VirtualBox zuzuordnen? Es macht viel Mühe, jedes Mal einen neuen Port zu erstellen! –