Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

792
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda