Hat einen Apache-Webserver als Docker-Container erstellt, möchte aber im Windows-Browser als localhost darauf zugreifen.
Ich kann auf den Webserver mit privater Boot2docker-IP-Adresse zugreifen, die 192.168.59.103 ist, möchte aber auf den Webserver als localhost zugreifen, d. h. 127.0.0.1.
Im Folgenden ist mein Docker Container Setup
Ausführen von Boot2docker auf Oracle VM Sichtbare Ports: "EXPOSE 80 443" in der Andockdatei
Befehl zum Erstellen der Docker-Datei:
%Vor%Wenn Sie auf localhost für die Ports 80 und 443 zugreifen möchten, müssen Sie zwei Aktionen ausführen:
Zunächst müssen Sie beim Erstellen Ihres Containers das Port-Mapping spezifisch angeben. Wenn Sie docker run
mit der Option -P
ausführen, werden die in der Dockerdatei EXPOSE
festgelegten Ports für zufällige Ports in der Boot2Docker-Umgebung verfügbar gemacht. Wenn Sie es spezifisch zuordnen möchten, müssen Sie Folgendes ausführen:
Um den Boot2Docker-Port Ihrer Host-Umgebung zuzuordnen, müssen Sie, wie von Joe Niland vorgeschlagen, eine Port-Weiterleitung mit SSH-Tunneling durchführen:
boot2docker ssh -L 80:localhost:80
boot2docker ssh -L 443:localhost:443
Sie können zu Port-Zuordnungen wechseln, wenn Sie möchten.
boot2docker hat tatsächlich eine VM mit Linux-Kern in Ihrem Mac OS mit VirtualBox erstellt, und 192.168.59.103 ist die IP für diese VM.
Sie müssen also einen Port für diese VM festlegen
Beachten Sie, dass Port 80 in Mac OS eine hohe Berechtigung benötigt, daher verwende ich in diesem Beispiel 8080.
Tags und Links docker boot2docker portforwarding