Olá, Fernando!
Parece que você está lidando com uma questão de roteamento entre a sua rede principal e a rede Docker que você criou. Vamos tentar resolver isso!
Primeiro, é importante verificar se o roteamento entre a sua rede principal (192.168.0.0/22) e a rede Docker (192.168.50.0/24) está configurado corretamente. Isso é essencial para permitir que dispositivos fora do servidor Docker acessem os contêineres diretamente pelo IP interno.
Uma solução comum é garantir que o roteamento IP esteja habilitado no servidor Docker. Você pode verificar isso executando o seguinte comando no servidor Linux:
sysctl net.ipv4.ip_forward
Se o resultado for net.ipv4.ip_forward = 0
, então o encaminhamento de IP está desativado. Para habilitá-lo temporariamente, você pode executar:
sudo sysctl -w net.ipv4.ip_forward=1
Para tornar essa alteração permanente, adicione ou modifique a linha net.ipv4.ip_forward = 1
no arquivo /etc/sysctl.conf
e depois aplique as alterações com sudo sysctl -p
.
Além disso, você precisará garantir que não existem regras de firewall bloqueando o tráfego entre essas redes. Verifique as regras do iptables ou qualquer firewall que você esteja utilizando. Uma regra permissiva poderia ser algo como:
sudo iptables -A FORWARD -s 192.168.0.0/22 -d 192.168.50.0/24 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.50.0/24 -d 192.168.0.0/22 -j ACCEPT
Isso permite o tráfego de ida e volta entre as redes. Lembre-se de ajustar as regras conforme necessário para o seu ambiente específico.
Por fim, certifique-se de que a rede Docker está configurada para permitir a comunicação externa. Isso geralmente é gerenciado na configuração da rede quando você a cria com o Docker.
Essas são algumas diretrizes gerais e podem precisar de ajustes específicos para o seu ambiente. Espero que essas sugestões ajudem a resolver o problema de acessar seus contêineres pelo IP interno.
Bons estudos!