5
respostas

Acesso externo na rede

Como faço pra acessar a aplicação, de um container qualquer no meu PC, por outro dispositivo conectado na mesma rede (wifi)?

5 respostas

Olá Alex, tudo bem? É simples Alex, basta você descobrir qual o IP da máquina que está com o container em execução e então acessar o http://IP:Porta_do_container pelo outro dispositivo da sua rede. Para saber o IP da sua máquina, você pode usar o comando ipconfig no terminal se seu sistema for Windows, se for MacOS ou Linux, você pode usar ifconfig. E Depois fazer o acesso diretamente no outro dispositivo usando uma url como:

http://192.168.1.9:81

Faz o teste e fala pra gente se funcionou!

Não funcionou. O meu PC está com IP 192.168.0.4 e aplicação (container) roda na porta 8000. Se eu acessar 192.168.0.4:8000 no meu PC, tá funcionando. De outro dispositivo não.

Nossa que estranho Alex, agora preciso de algumas informações pra tentar indicar uma solução. Seu sistema é Windows ou outro? Se for Windows, qual é o Docker que você está usando o Docker for Windows ou o Docker Toolbox? Poderia também executar o seguinte comando:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nome_do_container

E falar pra gente o resultado!

Docker for Windows

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' f86de0c571bd

172.19.0.3

** Dentro do container**

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.19.0.3  netmask 255.255.0.0  broadcast 172.19.255.255
        ether 02:42:ac:13:00:03  txqueuelen 0  (Ethernet)
        RX packets 6220  bytes 8999930 (8.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2668  bytes 169025 (165.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 24  bytes 1536 (1.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 1536 (1.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

** Fora do container**

Adaptador de Rede sem Fio Wi-Fi:

   Sufixo DNS específico de conexão. . . . . . : xxx
   Descrição . . . . . . . . . . . . . . . . . : xxx
   Endereço Físico . . . . . . . . . . . . . . : xxx
   DHCP Habilitado . . . . . . . . . . . . . . : Sim
   Configuração Automática Habilitada. . . . . : Sim
   Endereço IPv4. . . . . . . .  . . . . . . . : 192.168.0.4(Preferencial)
   Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0
   Concessão Obtida. . . . . . . . . . . . . . : quinta-feira, 25 de junho de 2020 20:01:55
   Concessão Expira. . . . . . . . . . . . . . : quinta-feira, 25 de junho de 2020 22:01:55
   Gateway Padrão. . . . . . . . . . . . . . . : 192.168.0.1
   Servidor DHCP . . . . . . . . . . . . . . . : 192.168.0.1
   Servidores DNS. . . . . . . . . . . . . . . : 8.8.8.8
                                                 8.8.4.4

Adaptador Ethernet vEthernet (DockerNAT):

   Sufixo DNS específico de conexão. . . . . . :
   Descrição . . . . . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
   Endereço Físico . . . . . . . . . . . . . . : xxx
   DHCP Habilitado . . . . . . . . . . . . . . : Não
   Configuração Automática Habilitada. . . . . : Sim
   Endereço IPv4. . . . . . . .  . . . . . . . : 10.0.75.1(Preferencial)
   Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.240
   Gateway Padrão. . . . . . . . . . . . . . . :

Alex, qual é o erro que aparace pra você quando você tenta acessa a aplicação a partir de outro dispositivo? Qual foi o comando que você usou para iniciar o container? Aparentemente a configuração está correta, porém você pode verificar o Firewall do Windows, pra ver se essa porta está liberada pelo Firewall.

E fala pra gente essas informações todas pra gente poder indicar uma solução!

Fico aguardando retorno!