In dit geval:
- Pgadmin kan geen verbinding maken met localhost, maar psql werkt van buiten de docker.
- zowel pgadmin als Postgres draaien als containers
Hoewel u niet heeft aangegeven of u dit doet, zouden beide containers idealiter deel kunnen uitmaken van een aangepaste bridge netwerk voor automatische DNS-omzetting.
Als ze niet expliciet worden toegevoegd, maken ze deel uit van het standaard bridge-netwerk.
Typ:$ docker network ls
. om de netwerken te vinden die in uw docker-runtime zijn gemaakt
Sommige netwerken worden vermeld in de console, misschien vindt u een [name]_default
het zou je netwerk moeten zijn.
Voerdocker network inspect [name]_default
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": ""
}
In plaats van localhost te gebruiken voor de servernaam/ip in het pgAdmin nieuwe server-dialoogvenster, maak je verbinding met het "IPv4Address" van de postgres-instantie.
In mijn geval verbinden op 172.18.0.2:5432
, werkte als een tierelier.