Como conectar o Docker a um banco externo usando ip e porta?

Bom dia galera, tenho um banco de dados postgres na empresa que está em um ip especifico e roda na porta 5432 com o nome de integracao quero apontar esse banco usando seu ip, porta e nome em um container docker.

Rodei este comando:

sudo docker run --name integracao_bd -e POSTGRES_USER=user -e POSTGRES_PASSWORD=pass --add-host=integracao:ip -p 5432:5432 -t postgres:12

Consegui fazer com que o container docker rode e aparentemente funcione, porém na minha aplicação spring boot no application.properties ao apontar:

spring.datasource.url=jdbc:postgresql://172.17.0.3:5432/integracao

O ip que usei é o ip do container docker.

Tenho a resposta:

[87] FATAL:  database "integracao" does not exist

Se eu passar o ip:porta do banco original consigo acessar. Alguém já teve algum erro parecido ou saberia me informar como faço esse apontamento?

Sua aplicação está rodando em um container também? Se estiver, ela e o banco estão na mesma networking?

Caso sua aplicação não esteja rodando no docker, tente passar na conexão o IP do servidor docker e não o IP do container.

1 curtida

Obrigado por responder, o problema era justamente que não os coloquei na mesma rede.

1 curtida