In diesem Fall:
- Pgadmin kann keine Verbindung zu localhost herstellen, aber psql funktioniert außerhalb von Docker.
- sowohl pgadmin als auch Postgres laufen als Container
Obwohl Sie dies nicht angegeben haben, könnten beide Container idealerweise Teil einer benutzerdefinierten Brücke sein Netzwerk für die automatische DNS-Auflösung.
Wenn sie nicht explizit hinzugefügt werden, sind sie Teil des Standard-Bridge-Netzwerks.
Um die in Ihrer Docker-Laufzeit erstellten Netzwerke herauszufinden, geben Sie Folgendes ein:$ docker network ls
Einige Netzwerke werden in der Konsole aufgelistet, vielleicht finden Sie einen [name]_default
es sollte Ihr Netzwerk sein.
Führen Sie docker network inspect [name]_default
aus it'll show up a bunch of information, for us the most important is IPv4Address, something like this:"7c3cd7532ab8aacc70830afb74adad7296d9c8ddd725c498af2d7ee2d2c2aadd": {
"Name": "intime_postegres_1",
"EndpointID": "56a9cb574469f22259497b72719f9f4a3e555b09f95058fcf389ef5287381f28",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
Anstatt localhost für den Servernamen/IP im pgAdmin-Dialogfeld „Neuer Server“ zu verwenden, stellen Sie eine Verbindung zur „IPv4Address“ der Postgres-Instanz her.
In meinem Fall verbinden bei 172.18.0.2:5432
, funktionierte wie ein Zauber.