[Docker Compose] Postgres-Verbindungsfehler: „Verbindung abgelehnt“ wird behoben
Problem:
Beim Versuch Um eine Go-Verbindung zu einer Postgres-Datenbank herzustellen, die in Docker Compose ausgeführt wird, tritt der Fehler „Verbindung abgelehnt“ auf, obwohl eine Verbindung hergestellt werden konnte erfolgreich von pg-admin.
Grund:
Die Verbindungszeichenfolge verweist auf den Datenbank-Hostnamen als „postgres“, der mit dem Dienstnamen in Docker Compose übereinstimmt. Der tatsächliche Containername lautet jedoch „Datenbank“.
Lösung:
Um das Problem zu beheben, benennen Sie den Datenbankcontainer in der Docker Compose-Datei entweder in „postgres“ um oder geben Sie ihn explizit an der Hostname:
database: build: database restart: always hostname: postgres # Add this line
Zusätzlich Überlegungen:
Verbindungszeichenfolge : Stellen Sie sicher, dass die Verbindungszeichenfolge im Go-Code (_str_) die richtige enthält Hostname:
str := fmt.Sprintf("database://%s:%s@%s:%s/%s?sslmode=disable", user, pass, "postgres", port, dbname) # Update the hostname to "postgres"
Das obige ist der detaillierte Inhalt vonDocker Compose Postgres-Verbindung abgelehnt: Warum funktioniert pgAdmin, aber meine Go-App schlägt fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!