Boot2Docker - Greifen Sie auf den Webserver als localhost zu

8

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%     
user1581721 09.02.2015, 05:27
quelle

2 Antworten

5

Wenn Sie auf localhost für die Ports 80 und 443 zugreifen möchten, müssen Sie zwei Aktionen ausführen:

  1. 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:

    %Vor%
  2. 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.

    
Javier Cortejoso 09.02.2015, 07:45
quelle
15

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.

    
Doug Hou 09.02.2015 08:05
quelle