Dans ce cas :
- Pgadmin ne parvient pas à se connecter à localhost, mais psql fonctionne depuis l'extérieur de docker.
- pgadmin et Postgres fonctionnent en tant que conteneurs
Bien que vous n'ayez pas indiqué si vous le faites, idéalement, les deux conteneurs pourraient faire partie d'un pont personnalisé réseau pour la résolution DNS automatique.
S'ils ne sont pas ajoutés explicitement, ils feront partie du réseau de ponts par défaut.
Pour connaître les réseaux créés dans votre runtime docker, tapez :$ docker network ls
Certains réseaux seront listés dans la console, peut-être trouverez-vous un [name]_default
ce devrait être votre réseau.
Exécutezdocker 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": ""
}
Au lieu d'utiliser localhost pour le nom/l'adresse IP du serveur dans la boîte de dialogue du nouveau serveur de pgAdmin, connectez-vous à l'"adresse IPv4" de l'instance postgres
Dans mon cas, connexion à 172.18.0.2:5432
, a fonctionné comme un charme.