Не могу открыть контейнер докер на VirtualBox из интернета

у меня установлен ToolBox на Windows 10.


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

enter image description here

IP Докера машины 192.168.99.100, IP контейнера 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 Outside хоста Windows. Попробовал telnet 192.168.1.3 8000 роутер - подключение отказался.
У меня нет антивируса на машине Windows, и firewal выключен.

5
задан Alexey
источник

2 ответов

через некоторое время я сам найду решение:)

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

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

enter image description here

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

5
отвечен Alexey 2017-06-20 23:33:50
источник

ваше название интернет, но ваше решение предпочитают вы имеете в виду LAN.

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

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.99.100 connectport=8000 protocol=tcp
-1
отвечен user2959760 2018-11-10 13:06:27
источник

Другие вопросы docker-for-windows virtualbox