En este caso:
- Pgadmin no puede conectarse a localhost, pero psql funciona desde fuera de Docker.
- tanto pgadmin como Postgres se ejecutan como contenedores
Aunque no ha indicado si lo está haciendo, idealmente ambos contenedores podrían ser parte de un puente personalizado red para la resolución automática de DNS.
Si no se agregan explícitamente, serán parte de la red puente predeterminada.
Para averiguar las redes creadas en el tiempo de ejecución de Docker, escriba:$ docker network ls
Algunas redes aparecerán en la consola, tal vez encuentres un [name]_default
debería ser su red.
Ejecute docker 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": ""
}
En lugar de usar localhost para el nombre/ip del servidor en el cuadro de diálogo del nuevo servidor de pgAdmin, conéctese a la "dirección IPv4" de la instancia de postgres.
En mi caso conectándome a 172.18.0.2:5432
, funcionó a las mil maravillas.