Eu tenho um par de contêineres docker em execução na máquina host, esses contêineres juntos fazem meu aplicativo cumprir. Portanto, para cada iteração/instância do meu aplicativo, é necessário executar um par de contêineres do docker. Até agora, estou usando o parâmetro --link ao executar o segundo contêiner para vincular o primeiro contêiner e obter o IP do primeiro contêiner do arquivo hosts para usá-lo programaticamente.
Agora, preciso configurar um proxy transparente para o segundo contêiner docker. assim, todo o tráfego http (porta 80) do segundo contêiner deve passar pela porta 8080 do primeiro contêiner.
Primeiro recipiente IP: 172.17.0.4 (Tem serviço de proxy em execução na porta 8080).Segundo recipiente IP: 172.17.0.6 (Tem ferramentas de cliente como navegador).Eu queria encaminhar todo o tráfego http (porta 80) do 172.17.0.6 para o porto 8080 do 172.17.0.4.
seja)> Tráfego para 80 de 172.17.0.4 <--- 8080 de 172.17.0.6
Tentei adicionar as regras iptables dentro do segundo contêiner para a configuração acima. Mas nenhum deles funcionou.
~# sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.4:8080
Não funciona.
~# sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 172.17.0.4:8080
Não funciona.
~# sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Portanto, minha pergunta é: Como posso configurar um proxy transparente dentro de um contêiner docker que pode encaminhar todo o tráfego de uma porta especificada para a porta de outro contêiner?
P. S: Se eu adicionar manualmente as configurações de proxy ao navegador no segundo contêiner. Está funcionando bem. Mas eu queria definir o proxy transparente para todo o contêiner, não apenas o navegador. para que qualquer solicitação de rede de qualquer ferramenta dentro do segundo contêiner seja encaminhada para a porta proxy do primeiro contêiner.
Eu li alguns tutoriais sobre a proxy reversa de todos os contêineres em execução juntos usando nginx / HAProxy. Mas eu queria configurar o contêiner individual com seu próprio contêiner proxy como um par.