Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problemas de comunicação entre dois contêineres docker


Você não pode usar localhost dentro do contêiner, é o próprio contêiner. Portanto, você sempre receberá o erro de conexão recusada.

Você pode fazer as coisas abaixo -

  1. Adicione o IP da máquina host em application.properties arquivo do seu aplicativo de inicialização de primavera. (Não recomendado, pois quebra a lógica de portabilidade do docker)

  2. Caso você queira usar localhost , use --net=host ao iniciar o recipiente. (Não recomendado para produção, pois não existe camada de rede lógica)

  3. Use --links para comunicação de contêiner com um nome DNS. (obsoleto/herdado)

  4. Crie um arquivo de composição e chame seu banco de dados do aplicativo spring boot com o nome do serviço, pois eles estarão na mesma rede e altamente integrados entre si. (Recomendado)

PS - Sempre que você precisar integrar vários contêineres, sempre vá para docker-compose version 3+ . Use docker run|build para entender os fundamentos e realizar execuções de teste/seco.