Não é possível acessar o contêiner docker no VirtualBox da Internet

6

Eu tenho o ToolBox instalado no Windows 10.
Ter criado máquina e contêiner Nginx, aberto fora na porta 8000.

O IP da máquina do Docker é 192.168.99.100 , o IP do contêiner é 172.17.0.2 .
Eu posso acessar o Nginx do Windows como 192.168.99.100:8000 . Ainda mais, eu posso acessar do host do Windows diretamente para 172.17.0.2:80 . Também posso acessar a Internet de dentro do contêiner.

Em toda a configuração é como segue:

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

O problema é que não consigo conectar o Nginx ouside do host do Windows. Tentei telnet 192.168.1.3 8000 do roteador - conexão recusada. Eu não tenho nenhum antivírus na máquina Windows e a firewall está desativada.

    
por Alexey 21.06.2017 / 01:13

1 resposta

5

Depois de um tempo tenho a solução de fonte eu mesmo:)

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

Adicione uma regra como http na captura de tela:

A regra ssh foi adicionada automaticamente por docker-machine create . A última pergunta é como adicionar a regra http automaticamente quando o docker cria um contêiner com portas expostas.

    
por 21.06.2017 / 01:33