In questo caso:
- Pgadmin non riesce a connettersi a localhost, ma psql funziona da una finestra mobile esterna.
- sia pgadmin che Postgres funzionano come container
Sebbene tu non abbia indicato se lo stai facendo, idealmente entrambi i contenitori potrebbero far parte di un bridge personalizzato rete per la risoluzione DNS automatica.
Se non aggiunti in modo esplicito, faranno parte della rete bridge predefinita.
Per scoprire le reti create nel runtime docker, digita:$ docker network ls
Alcune reti saranno elencate nella console, forse troverai un [name]_default
dovrebbe essere la tua rete.
Eseguidocker 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": ""
}
Invece di usare localhost per il nome/ip del server nella finestra di dialogo del nuovo server di pgAdmin, connettiti all'"Indirizzo IPv4" dell'istanza postgres.
Nel mio caso la connessione a 172.18.0.2:5432
, ha funzionato come un incantesimo.