2014-08-29 3 views
6

Я установил boot2docker (полная установка) на Windows 7, и я пытаюсь запустить the container port redirection demo:boot2docker на окнах - не удается получить доступ к Exposed порт

docker run --rm -i -t -p 80:80 nginx 

, который выглядит, как это не совсем правильно отделки, он просто останавливается и выглядит следующим образом:

enter image description here

когда я открываю другой GIT Баш оболочки и запустить boot2docker ip я 192.168.59.103, и когда я поп, что в хроме я получаю Error code: ERR_CONNECTION_TIMED_OUT

Он отлично работает для меня с обычным докером на Ubuntu 14.04. Что еще мне нужно сделать, чтобы он работал с boot2docker на окнах?

+1

Возможный дубликат [Docker, не может достичь «сервера рельсов» с локального хоста: 3000 с использованием флага док-станции 3000: 3000] (http://stackoverflow.com/questions/23422540/docker-cant-reach- rails-server-development-from-localhost3000-using-docker) – Ben

+0

См. также http://stackoverflow.com/a/29303930/6309 – VonC

+1

boot2docker ip отсортировал его для меня. благодаря – Bryan

ответ

14

присмотревшись, моя проблема такая же, как этот вопрос: Docker, can't reach “rails server” development from localhost:3000 using docker flag -p 3000:3000

Ответ на этот вопрос, который работал для меня был this one, который просто говорит, чтобы запустить

boot2docker ssh -L 8080:localhost:80 

на терминале перед начиная boot2docker

В моем случае я делаю это (от мерзавец Баш терминала):

boot2docker init # from https://github.com/boot2docker/boot2docker 
boot2docker up 
boot2docker ssh -L 8787:localhost:8787 # sets up port forwarding and starts boot2docker 
docker run -d -p 8787:8787 cboettig/rstudio # starts the container I want 

затем перейдите в мой веб-браузер в Windows и укажите его на http://localhost:8787/, и я получаю экземпляр сервера RStudio. Когда я сделал:

docker rm -f $(docker ps -a -q) # delete all containers 

UPDATE: снижение к более ранней версии VirtualBox будет исправить это

После struggling with folder sharing я регресс через предыдущие версии VirtualBox и обнаружил, что с версией 4.3.12 я мог разрешить совместное использование папки и имеют порт, перенаправленный точно в соответствии с официальными инструкциями, то есть я мог бы получить доступ к моему контейнеру докера по адресу 192.168.59.103. Таким образом, понижение VirtualBox является еще одним вариантом для решения этой проблемы.

ДРУГОЙ UPDATE: обновление до новой версии v1.3.1 от boot2docker исправит это

Это release только что вышел неделю назад и включает в себя VirtualBox Guest Additions, что упрощает все это. Я теперь просто сделать

boot2docker ssh # start boot2docker 
docker run -d -p 8787:8787 -v /c/Users/foobar:/home/rstudio/foobar rocker/rstudio 

И я Everthing работает, как ожидалось, и может войти в RStudio в браузере в http://localhost:8787/ (Linux) или http://192.168.59.103:8787 (Windows) и он просто работает.

В этом случае я также получил folder sharing работать, /c/Users/foobar, соответствующий существующую папку на моем компьютере C:/Users/foobar и foobar может быть что угодно.С помощью этого метода я могу читать и записывать файлы в обоих направлениях между Windows и RStudio, и мне не нужно подключаться к специальному IP-адресу, например, samba-метод в официальных документах

1

У меня была эта проблема также после нескольких неудачные попытки boot2docker start. Это создало несколько записей сетей host-only, настроенных на VirtualBox (VirtualBox Host-Only Ethernet Adapter #2, VirtualBox Host-Only Ethernet Adapter #3), и, вероятно, виртуальная машина boot2docker использовала плохую.

Я очистился с использованием стандартного пользовательского интерфейса Virtualbox, оставив только одну из сетей, и теперь все работает нормально.

Я использую boot2docker 1.5.0.

Просто зарегистрируйтесь, что случилось со мной, и заставил меня потерять пару часов.

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