PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

ECONNREFUSED dla Postgres na nodeJS z dokerami

Twój DATABASE_URL odnosi się do 127.0.0.1 , który jest adapterem pętli zwrotnej (więcej tutaj). Oznacza to „połącz się ze sobą”.

Podczas uruchamiania obu aplikacji (bez użycia platformy Docker) na tym samym hoście, obie są adresowalne na tym samym adapterze (znanym również jako localhost ).

Podczas uruchamiania obu aplikacji w kontenerach nie oba znajdują się na hoście lokalnym, jak wcześniej. Zamiast tego musisz wskazać web kontener do db adres IP kontenera w docker0 adapter - który docker-compose zestawy dla Ciebie.

Zmień:

127.0.0.1 do CONTAINER_NAME (np. db )

Przykład:

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

do

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

Działa to dzięki linkom Dockera:web kontener zawiera plik (/etc/hosts ) z db wpis wskazujący adres IP, który db pojemnik jest włączony. Jest to pierwsze miejsce, w którym system (w tym przypadku kontener) będzie szukał podczas rozwiązywania nazw hostów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W jaki sposób PostgreSQL wymusza ograniczenie UNIQUE / jakiego rodzaju indeksu używa?

  2. Używanie pyspark do łączenia się z PostgreSQL

  3. Jak mogę się upewnić, że widok zmaterializowany jest zawsze aktualny?

  4. Przegląd metod JOIN w PostgreSQL

  5. Aktualizacja SQL pól jednej tabeli z pól innej