sql >> Database teknologi >  >> RDS >> PostgreSQL

ECONNREFUSED for Postgres på nodeJS med dockers

Din DATABASE_URL henviser til 127.0.0.1 , som er loopback-adapteren (mere her). Dette betyder "opret forbindelse til mig selv".

Når du kører begge applikationer (uden at bruge Docker) på den samme vært, kan de begge adresseres på den samme adapter (også kendt som localhost ).

Når du kører begge applikationer i containere, er de ikke begge på localhost som før. I stedet skal du pege på web container til db containerens IP-adresse på docker0 adapter - som docker-compose sæt til dig.

Skift:

127.0.0.1 til CONTAINER_NAME (f.eks. db )

Eksempel:

DATABASE_URL: postgres://username:[email protected]:5432/mydatabase

til

DATABASE_URL: postgres://username:[email protected]:5432/mydatabase

Dette virker takket være Docker-links:web container har en fil (/etc/hosts ) med en db indgang, der peger på den IP, som db beholderen er tændt. Dette er det første sted et system (i dette tilfælde containeren) vil se hen, når det forsøger at løse værtsnavne.



  1. ufuldstændig information fra forespørgsel på pg_views

  2. Oracle SQL - max() med NULL-værdier

  3. Brug af Percona Audit Log Plugin til databasesikkerhed

  4. Vælger du en selvstændig fuldtekstsøgeserver:Sphinx eller SOLR?