2015-02-09 23 views
8

Erstellt einen Apache-Webserver als Docker-Container, aber möchte auf Windows-Browser als localhost zugreifen.Boot2Docker - Zugriff auf den Webserver als localhost

Ich kann den Webserver mit boot2docker private IP-Adresse zugreifen, die 192.168.59.103 ist, aber möchte auf den Webserver als localhost, d. H. 127.0.0.1 zugreifen.

Im Anschluss ist mein Docker Container Setup

Lauf Boot2docker auf Oracle VM Exposed Ports: "SETZEN 80 443" in Docker Datei

Befehl verwendet Docker Datei zu erstellen:

docker run --net=host --name=webserver1 -v /home/data:/data/www/www.samplewebserber.com -v `password`:/scripts -d folder/serverfolder /scripts/run.sh 
+0

möglich Duplikat [Docker, nicht erreichen können "Schienen-Server" Entwicklung von localhost: 3000 Docker Flagge mit -p 3000: 3000] (http://stackoverflow.com/questions/23422540/docker -cant-reach-rails-server-development-from-localhost3000-using-docker –

+0

Befehl Benutzer zum Erstellen einer Docker-Datei oder zum Ausführen eines Containers? – vmonteco

Antwort

5

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

  1. Wenn Sie Ihren Container erstellen, müssen Sie zunächst das Port-Mapping angeben. Wenn Sie die Option docker run mit der Option -P ausführen, werden die in dockerfiles EXPOSE festgelegten Ports zufälligen Ports in der Boot2Docker-Umgebung ausgesetzt. Wenn Sie es zuordnen möchten speziell müssen Sie laufen:

    docker run \ 
        --net=host \ 
        --name=webserver1 \ 
        -v /home/data:/data/www/www.samplewebserber.com \ 
        -v `password`:/scripts \ 
        -d -p 80:80 -p 443:443 \ 
        folder/serverfolder \ 
        /scripts/run.sh 
    
  2. Und um Boot2Docker Hafen zu Ihrem Host-Umgebung abzubilden, wie Joe Niland Link vorgeschlagen, müssen Sie eine Port-Weiterleitung tun SSH-Tunneling:

    boot2docker ssh -L 80:localhost:80

    boot2docker ssh -L 443:localhost:443

Sie können Portzuordnungen ändern, wenn Sie es wünschen.

15

boot2docker hat tatsächlich ein vm mit linux core in Ihrem Mac OS mit VirtualBox erstellt, und 192.168.59.103 ist die ip für dieses vm.

So benötigen Sie einen Port setzen vorwärts für die vm

Beachten Sie, dass in Mac OS, Port 80 eine hohe Erlaubnis benötigen, so dass ich 8080 statt in diesem Beispiel.

enter image description here

+0

Es funktioniert gut für mich, danke !! – Biao

Verwandte Themen