O contêiner do Docker não pode ser acessado após X minutos no AWS

2

Eu tenho um contêiner docker (da imagem do sonarqube) em execução na AWS e não era acessível remotamente. Eu consegui acessar somente através do ssh.

Para corrigir meu problema, preciso executar este comando:

$ sysctl net.ipv4.ip_forward=1

O problema é que depois de alguns minutos (após algum evento) esse sinalizador é revertido para net.ipv4.ip_forward = 0. Algo está adicionando automaticamente uma linha neste arquivo:

#-> grep net.ipv4.ip_forward /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.ip_forward = 0

Alguém sabe o que pode ser a causa? Talvez seja alguma configuração na AWS?

    
por Topera 03.04.2018 / 16:48

2 respostas

0

Você verificou o ajuste e confirmou se este ajuste pode estar sobrescrevendo as configurações do systemctl? Isso aconteceu comigo em várias máquinas e swappiness

    
por 05.04.2018 / 17:20
0

Quando você executa:

sysctl net.ipv4.ip_forward=1

as alterações não são salvas, elas são gravadas temporariamente em / proc e serão perdidas se você reiniciar a rede. Você deve editar /etc/sysctl.conf diretamente, excluir a linha net.ipv4.ip_forward = 0 , manter a linha net.ipv4.ip_forward = 1 e, em seguida, executar:

sysctl -p

Outras possíveis causas:

  • você tem IPForward=no em /etc/systemd/network/50-containers.network ?
  • você tem ip_forward=0 em /etc/sysctl.d/ip_forward.conf ?
  • você está usando uma imagem EC2 com suporte do EBS? Caso contrário, o dispositivo raiz não será preservado nas reinicializações
  • esta instância do EC2 foi iniciada por um ELB? O ELB pode decidir matar e iniciar uma nova instância a qualquer momento, portanto, as alterações em / proc que não foram salvas no disco são perdidas
por 08.04.2018 / 16:36