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
DataSource
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.
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
DataSource
192.168.0.1 é um IP ficticio, você troca pelo IP do seu container
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)