DEV Community

Jardel
Jardel

Posted on

Configurando TypeORM com PostgreSQL usando Docker.

Recentemente, perdi algumas horas tentando resolver um erro durante a configuração inicial de um side project que estava desenvolvendo.

Estou utilizando o Docker para rodar minha aplicação em Node.js e o banco de dados PostgreSQL, e estou utilizando o TypeORM para fazer operações no banco de dados. No entanto, o banco de dados não estava se conectando de nenhuma forma à minha aplicação, apesar de já ter testado várias soluções.

Na minha primeira tentativa de conexão com o banco de dados, meu código estava assim:

ormconfig.json

Código

DataSource

Código

Com essas configurações, todas as minhas tentativas de conexão falharam. Fiz o debug de todas as formas possíveis, mas não conseguia entender o que estava errado. Foi então que pesquisei e encontrei uma solução no repositório do TypeORM que resolveu meu problema.

Comentário no github do TypeORM

O problema estava no meu código, mais especificamente no host, que estava configurado como "localhost". Nesse caso, o Docker trata "localhost" como o IP da minha máquina local, e não como o IP do container. Por isso, a conexão não estava sendo estabelecida corretamente.

A solução foi obter o IP do container do Docker com o seguinte comando:
sudo docker inspect nome_do_seu_container | grep "IPAddress"

Esse comando irá retornar o IP correto que você deve usar na configuração do seu banco de dados.

Por exemplo:

ormconfig.json

192.168.0.1 é um IP ficticio, você troca pelo IP do seu container

Código

DataSource

192.168.0.1 é um IP ficticio, você troca pelo IP do seu container

Código

Agora, com essa correção, sua aplicação conseguirá se conectar ao banco de dados e você poderá realizar as operações desejadas.

Top comments (0)