justman10000
Goto Top

PostgreSQL - ECONNREFUSED

Hi, habe oben besagten Fehler mit dieser Docker Compose Konfiguration

db:
  container_name: db
  image: postgres:17beta1
  ports:
    - 3325:5432
  environment:
    - POSTGRES_DB=datenbank
    - POSTGRES_USER=user
    - POSTGRES_PASSWORD=<PASSWORT>
  volumes:
    - db:/var/lib/postgresql/data

Der Container, welcher sich verbinden will, verwendet auch die in der Datenbank hinterlegten Zugansdaten! Oder versucht es zumindest... Habe als Host sowohl localhost, und 127.0.0.1 wie auch die lokale IP des Containers als auch dessen Namen (db) versucht! Auch ist der Zugriff von extern möglich (mit den selben Daten)

Content-ID: 13747914365

Url: https://administrator.de/contentid/13747914365

Ausgedruckt am: 24.11.2024 um 11:11 Uhr

13034433319
13034433319 23.06.2024 um 18:52:48 Uhr
Goto Top
RTFM
https://hub.docker.com/_/postgres
Use a custom config file. Create a config file and get it into the container. If you need a starting place for your config file you can use the sample provided by PostgreSQL which is available in the container at /usr/share/postgresql/postgresql.conf.sample (/usr/local/share/postgresql/postgresql.conf.sample in Alpine variants).

Important note: you must set listen_addresses = '*'so that other containers will be able to access postgres.  

Gruß
Justman10000
Justman10000 23.06.2024 um 18:54:43 Uhr
Goto Top
Zitat von @13034433319:

RTFM
https://hub.docker.com/_/postgres
Use a custom config file. Create a config file and get it into the container. If you need a starting place for your config file you can use the sample provided by PostgreSQL which is available in the container at /usr/share/postgresql/postgresql.conf.sample (/usr/local/share/postgresql/postgresql.conf.sample in Alpine variants).

Important note: you must set listen_addresses = '*'so that other containers will be able to access postgres.  

Gruß

listen_addresses ist bereits auf *
13034433319
13034433319 23.06.2024 aktualisiert um 18:56:28 Uhr
Goto Top
Rechte auf die DB und Tabelle für den User für alle genutzten Hostnamen gesetzt?
Justman10000
Justman10000 23.06.2024 um 18:58:12 Uhr
Goto Top
Zitat von @13034433319:

Rechte auf die DB und Tabelle für den User für alle genutzten Hostnamen gesetzt?

Verbinde ich extern komme ich auf die DB, Rechte sind scheinbar also auch gesetzt
13034433319
13034433319 23.06.2024 aktualisiert um 19:04:17 Uhr
Goto Top
Welchen Hostnamen benutzt du denn extern? Port-Forwarding oder Reverse-Proxy?
Benutze doch mal den externen Hostnamen.
Firewall-Regelwerk sieht wie aus?
Rechte sind scheinbar also auch gesetzt
Die sind aber i.d.R. abhängig von in der Anwendung genutzten Hostnamen/FQDN.

Einfach nachschauen und nicht vermuten!
Datenbankabfrage der Rechte in einem Terminal des Containers machen dann siehst du was Sache ist
Justman10000
Lösung Justman10000 23.06.2024 aktualisiert um 20:11:56 Uhr
Goto Top
Hat sich erledigt! Wollte auf den User User, wobei die Datenbank jedoch user war (PG wollte demnach auf die Datenbank User)

Kein Plan, weshalb extern funktionierte! Verwendete die IP der Maschine dafür