sql >> Databáze >  >> RDS >> PostgreSQL

ECONNREFUSED pro Postgres na nodeJS s dockery

Vaše DATABASE_URL odkazuje na 127.0.0.1 , což je adaptér zpětné smyčky (více zde). To znamená „připojit se k sobě“.

Při spuštění obou aplikací (bez použití Dockeru) na stejném hostiteli jsou obě adresovatelné na stejném adaptéru (také známém jako localhost ).

Při spuštění obou aplikací v kontejnerech nejsou obě na localhost jako dříve. Místo toho musíte ukazovat web kontejneru do db IP adresa kontejneru na docker0 adaptér - který docker-compose sady pro vás.

Změna:

127.0.0.1 do CONTAINER_NAME (např. db )

Příklad:

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

do

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

Funguje to díky odkazům Docker:web kontejner má soubor (/etc/hosts ) s db vstup ukazující na IP adresu db kontejner je zapnutý. Toto je první místo, kam se systém (v tomto případě kontejner) podívá při pokusu o vyřešení názvů hostitelů.



  1. Pomocí T-SQL vraťte n-tý prvek s oddělovači z řetězce

  2. Jak přejmenovat tabulku v aplikaci Access

  3. Omezení simultánních uživatelských relací pro konkrétní přihlášení na SQL Server

  4. Jak funguje SQLite Trim()