![Docker compose - desabilita a rota do gateway padrão](https://rvso.com/image/770116/Docker%20compose%20-%20desabilita%20a%20rota%20do%20gateway%20padr%C3%A3o.png)
É possível evitar que o docker defina a rota padrão ao usar o arquivo yaml docker-compose?
Se meu docker-compose.yaml definir o ipam da rede com o driver padrão e qualquer sub-rede, costuras como docker (ou docker compose) atribuem automaticamente a rota padrão à tabela de roteamento do docker que está conectado a esta rede). Existe alguma maneira de desativá-lo?
Responder1
Infelizmente não.
Uma solicitação de recurso semelhante (#20179) está aberto no repositório GitHub há quase 6 anos, então eu realmente acredito que esse recurso não será implementado tão cedo.
Minha solução atual é, semelhante ao que @Zoredache mencionou, adicionar um script bash aos seus contêineres e definir o endereço IP do gateway desejado por meio de variáveis de ambiente. O script exclui a rota padrão e a adiciona de volta com o IP personalizado como gateway.
Editar:a essência do meu script:
if [ -n "$GW" ]; then
ip route delete default ;
ip route add default via $GW ;
fi
Se você quiser alterar o gateway padrão do seu contêiner, execute o contêiner com a variável de ambiente apropriada GW=192.168.0.1
e o script cuidará do resto. Além disso, certifique-se de incluir o script no CMD
ou ENTRYPOINT
no seu Dockerfile
OBSERVAÇÃO:Requer o iproute2
pacote.
Pode não ser a solução mais bonita, mas dá conta do recado.