Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

794
Views
¿Por qué no puedo conectar mi aplicación (docker) a la base de datos?

Tengo el siguiente problema: creé una aplicación NodeJS simple, donde hay un servidor de escucha en el puerto número 3000 . Definí algunas operaciones simples, como publicar, poner y leer. De todos modos, esta operación se realiza en una base de datos ejecutada como Docker Container, en el puerto número 5432 (postgres). En local, la aplicación funciona perfectamente. En cambio, si trato de dockerizar mi aplicación y ejecutarla:

 FROM node:16 WORKDIR /app COPY package*.json /app RUN npm install COPY . /app CMD ["npm", "start"]

Recibo el siguiente error:

 original: Error: connect ECONNREFUSED 127.0.0.1:5432 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 5432 } }

Como si no fuera posible conectarse a la base de datos de postgres. ¿Por qué sucede esto? En local, puedo conectarme perfectamente a postgres, pero si ejecuto mi aplicación como un contenedor Docker, no puedo conectarme a postgres. ¡Gracias a todos!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Un contenedor tiene su propio host local, por lo que conectarse a localhost intentaría conectarse a una base de datos que se ejecuta dentro del contenedor y, como no tiene un servidor de base de datos que se ejecuta dentro del contenedor en localhost, no puede conectarse a él.

Puede conectarse a la base de datos que se ejecuta en el host usando host.docker.internal (para Mac/Windows) como nombre de host para referirse al host o iniciar el contenedor en la red del host (solo es posible en Linux) y luego debería funcionar.

Eche un vistazo a esta respuesta que entra en más detalles.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!