Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Solução] Erro ao se conectar ao banco de dados

Problema:

Quando eu tentava rodar o docker-compose com o PostgreSQL e minha aplicação, o banco de dados não conseguia se conectar corretamente, e aparecia o erro:

failed to connect to host=postgres user=root database=root: hostname resolving error (lookup postgres on 127.0.0.11:53: no such host)

Causa:
O erro estava relacionado ao volume mapeado para o PostgreSQL no docker-compose.yml. Estava mapeando apenas o diretório /var/lib/postgresql/data dentro do container:

volumes:

  • ./postgres-data:/var/lib/postgresql/data

Erro
Mas, nas versões mais recentes do PostgreSQL, é necessário mapear o diretório completo /var/lib/postgresql/ (e não apenas o subdiretório data), pois o PostgreSQL usa subdiretórios para gerenciar seus dados. Esse mapeamento errado causava conflitos e o PostgreSQL não conseguia inicializar corretamente.

Solução:
Eu removi o container com docker compose down e alterei o mapeamento do volume para o diretório completo /var/lib/postgresql/, assim:

volumes:

  • ./postgres-data:/var/lib/postgresql/

Com isso voces podem subir novamente o container com docker compose up -d , e assim o PostgreSQL conseguirá criar a estrutura de diretórios necessária para armazenar seus dados corretamente e a aplicação passou a se conectar ao banco de dados sem problemas.

Solução

Resultado:
Ao corrigir o mapeamento do volume, o banco de dados foi inicializado corretamente, e foi possível se conectar aos endereços da API, como http://localhost:8080/aluno e o erro foi resolvido.

Espero que isso ajude a resolver o problema de quem encontrar essa situação!

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Olá Wesley! Tudo bem?

Essa é uma dica valiosa para quem está enfrentando problemas semelhantes. Muito obrigada por compartilhar os seus aprendizados com outros estudantes da comunidade Alura!

Conte sempre com o nosso apoio :)

Abraços e bons estudos!