Невозможно получить доступ к докеру


6

У меня ToolBox установлен на Windows 10.
Создал машину и контейнер Nginx, открытый снаружи на порт 8000.

enter image description here

IP-адрес докера 192.168.99.100IP-адрес контейнера 172.17.0.2,
Я могу получить доступ к Nginx из Windows как 192.168.99.100:8000, Более того, я могу получить доступ с хоста Windows напрямую к 172.17.0.2:80, Также я могу получить доступ к Интернету изнутри контейнера.

У всех конфигурация такая:

Container (Nginx)           Docker Host (VirtualBox)            Host (Windows 10)                                                     Router
172.17.0.2:80 <-----------> 172.17.0.1 (docker0)
                            10.0.2.15 (eth0)
                            192.168.99.100:8000 (eth1) <------> 192.168.99.1 (Ethernet 2, VirtualBox Host-Only Ethernet Adapter)
                                                                192.168.1.3 (Ethernet, Intel Hardware Adapter) <--------------------> 192.168.1.1
                                                                                                                                      <Internet static IP address> <-----------> Provider

Проблема в том, что я не могу подключить Nginx вне хоста Windows. Пытался telnet 192.168.1.3 8000 от роутера - соединение отказано. У меня нет антивируса на компьютере с Windows, и брандмауэр выключен.

Ответы:


5

Через некоторое время я нашел решение для себя :)

VirtualBox -> Machine settings -> Network -> Adapter 1 (NAT) -> Advanced, Port Forwarding

Добавить правило как http на скриншоте:

enter image description here

правило ssh был автоматически добавлен docker-machine create, Последний вопрос, как добавить http Правило автоматически, когда Docker создает контейнер с открытыми портами.


-1

Ваш заголовок - интернет, но вы предпочитаете локальную сеть.

этот код делает похожий трюк:

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.99.100 connectport=8000 protocol=tcp
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.