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-Key: 13747914365

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

Printed on: July 14, 2024 at 16:07 o'clock

Mitglied: 13034433319
13034433319 Jun 23, 2024 at 16:52:48 (UTC)
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ß
Member: Justman10000
Justman10000 Jun 23, 2024 at 16:54:43 (UTC)
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 *
Mitglied: 13034433319
13034433319 Jun 23, 2024 updated at 16:56:28 (UTC)
Goto Top
Rechte auf die DB und Tabelle für den User für alle genutzten Hostnamen gesetzt?
Member: Justman10000
Justman10000 Jun 23, 2024 at 16:58:12 (UTC)
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
Mitglied: 13034433319
13034433319 Jun 23, 2024 updated at 17:04:17 (UTC)
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
Member: Justman10000
Solution Justman10000 Jun 23, 2024 updated at 18:11:56 (UTC)
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