Por padrão, os contêineres Docker se conectam a uma rede de ponte em execução no host (pense em sua rede local como a WAN / Internet e o Docker de rede cria como uma LAN e o host Docker como um roteador)
Você pode expor portas usando docker run -p
, que cria uma regra NAT do endereço IP do host para o endereço IP do contêiner (como se você configurasse o encaminhamento de porta no roteador para acessar um dispositivo dentro da rede privada da Internet)
Você também pode configurar o roteamento no host para que a rede de ponte do Docker esteja diretamente acessível. Para fazer isso, você precisa ter certeza de que o host tem o encaminhamento de IP ativado, você precisa ter certeza de que o firewall do host do Docker permitirá conexões de entrada para o endereço IP do container, e você precisa configurar o roteamento em sua rede gateway) para rotear os endereços IP da ponte Docker Bridge para o endereço IP do host
Além dessas opções, você pode procurar outras formas de configurar a rede do Docker se a documentação oficial link
Além desses métodos, você também pode conectar o SSH ao host e criar um túnel SSH para o contêiner. Por exemplo, se o host do Docker for 10.0.0.2 e o contêiner tiver um endereço IP 172.17.0.1 e você quiser acessar o nginx na porta 8080, será possível fazer ssh -L 8080:172.17.0.1:8080 10.0.0.2
, que redirecionará a porta 8080 na inicialização da máquina. a conexão SSH para 8080 no container