Я тоже столкнулся с этой проблемой совсем недавно. Я нашел два подхода:
1) Смотрите здесь . По сути, вы просто ищете IP-адрес контейнера postgres и используете этот IP-адрес в pgadmin4:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
194d4a5f9dd0 dpage/pgadmin4 "/entrypoint.sh" 48 minutes ago Up 48 minutes 443/tcp, 0.0.0.0:8080->80/tcp docker-postgis_pgadmin_1
334d5bdc87f7 kartoza/postgis:11.0-2.5 "/bin/sh -c /docke..." 48 minutes ago Up 48 minutes (healthy) 0.0.0.0:5432->5432/tcp docker-postgis_db_1
В моем случае, ID контейнера postgres 334d5bdc87f7
. Затем найдите IP-адрес:
$ docker inspect 334d5bdc87f7 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "172.18.0.2",
Когда я использовал 172.18.0.2
в pgadmin4, я подключился к базе данных! Yey!
2) Второй подход проще. Вместо использования localhost
или 127.0.0.1
или ::1
я использовал свой IP-адрес в своей локальной сети ( например, в вашем случае 192.168.122.1
?). После этого я подключился к контейнеру postgres!