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 -
-
Adicione o IP da máquina host emapplication.properties
arquivo do seu aplicativo de inicialização de primavera. (Não recomendado, pois quebra a lógica de portabilidade do docker)
-
Caso você queira usarlocalhost
, use--net=host
ao iniciar o recipiente. (Não recomendado para produção, pois não existe camada de rede lógica)
-
Use--links
para comunicação de contêiner com um nome DNS. (obsoleto/herdado)
-
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.