Rodando o docker no VPC e acessando o contêiner de outra máquina VPC

9

Estou com problemas ao executar o Docker no AWS VPC.

Aqui está minha configuração: Eu tenho duas máquinas rodando em VPC:

  • 10.0.100.150
  • 10.0.100.151

ambos tendo um IP elástico atribuído a eles, ambos executando na mesma sub-rede habilitada para internet.

Digamos que eu esteja executando um servidor da web que exibe arquivos estáticos em um contêiner na máquina 10.0.100.150 do contêiner:

  • IP: 172.17.0.2
  • a porta 8111 é encaminhada na porta 8111 da máquina.

Estou tentando acessar os arquivos estáticos da minha máquina local (ou outra máquina não-VPC que também tentou uma instância do EC2 que não está em execução na VPC) e funciona perfeitamente.

Se eu tentar acessar os arquivos da outra máquina (10.0.100.151), ele trava. Estou usando o wget para puxar os arquivos.

Tentei depurá-lo com o tcpdump e ngrep e o que eu vi é que o pedido chega ao container. Se eu ngrep na máquina host, vejo as solicitações entrando, mas nenhuma resposta vai voltar. Se eu ngrep no contêiner, vejo as solicitações entrando e a resposta voltando.

Eu tentei várias configurações de iptables (com o postrouting ativado, com portas de encaminhamento manualmente, etc.), mas sem sucesso.

Ajuda de qualquer forma - até mesmo as instruções de depuração seriam muito apreciadas.

Obrigado!

    
por Bogdan Gaza 09.02.2014 / 22:17

2 respostas

2

Configurar uma rede de contêineres é muito mais fácil com tecer . Para mais instruções específicas da AWS, dê uma olhada no blog do projeto .

    
por 07.11.2014 / 13:12
0

Parece que as instâncias do EC2 não podem se comunicar entre si porque não estão em um grupo de segurança que permite o acesso da porta 8111 entre si. Verifique se o grupo de segurança permite acesso a ele mesmo (e adicione as duas instâncias do EC2 ao grupo de segurança) ou se ele permite que a sub-rede do VPC atinja a porta 8111.

    
por 12.06.2014 / 21:36