2015-02-09 2 views
8

Создал веб-сервер apache как контейнер Docker, но хочет получить к нему доступ в браузере windows os как localhost.Boot2Docker - доступ к веб-серверу как localhost

Я могу получить доступ к веб-серверу с приватным ip-адресом boot2docker, который является 192.168.59.103, но хотел бы получить доступ к веб-серверу как localhost i.e 127.0.0.1.

Ниже моя установка Docker Контейнер

Запуск Boot2docker на Oracle VM Exposed порты: "ПОДВЕРГАТЬ 80 443" в Докер файле

Команда используется для создания Docker Файл:

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

возможно дубликат [Docker, не может достигнуть "рельсы сервера" развитие от LOCALHOST: 3000 с помощью флага Docker -p 3000: 3000] (http://stackoverflow.com/questions/23422540/docker -cant-reach-rails-server-development-from-localhost3000-using-docker) –

+0

Пользователь команды для создания файла докеров или для запуска контейнера? – vmonteco

ответ

5

Если вы хотите получить доступ к localhost к портам 80 и 443, вам необходимо выполнить два действия:

  1. Во-первых, при создании контейнера необходимо конкретно указать порт. Если вы запустите docker run с опцией -P, порты, установленные в файле EXPOSE докерефайла, будут отображаться на случайные порты в среде Boot2Docker. Если вы хотите, чтобы отобразить его конкретно вы должны запустить:

    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. И в целях картографирования Boot2Docker порта в среде хоста, так как Джо Niland ссылка предложил, вы должны сделать перенаправление портов с использованием SSH туннелирования:

    boot2docker ssh -L 80:localhost:80

    boot2docker ssh -L 443:localhost:443

вы можете изменить сопоставление портов, если вы хотите.

15

boot2docker фактически создал vm с ядром linux в вашей Mac OS с VirtualBox, а 192.168.59.103 - это ip для этого vm.

Так что вам нужно установить порт вперед для того VM

Обратите внимание, что в Mac OS, порт 80 нужно высокое разрешение, поэтому я использую 8080 вместо в этом примере.

enter image description here

+0

Это хорошо работает для меня, спасибо! – Biao

Смежные вопросы