pgadmin连接postgresql报错could not connect to server

2023年10月26日 · 308 字 · 1 分钟 · Database

问题

最近用docker-compose创建了两个容器如下

但是打开pgadmin在线网址http://localhost:8080/browser/想添加一个server,却发现报错如下

解决方法

既然localhost不行那就说明此处data-db-1的ip不是localhost。

  1. 打开命令行工具输入
docker inspect data-db-1 # data-db-1是我想连接的容器名,用id也行

输出结果是一个很长的json结构,定位到这里

 "Networks": {
                "data_default": {
                    "IPAMConfig": null,
                    "Links": [
                        "data-pgadmin-1:pgadmin",
                        "data-pgadmin-1:pgadmin-1",
                        "data-pgadmin-1:data-pgadmin-1"
                    ],
                    "Aliases": [
                        "data-db-1",
                        "db",
                        "3f2cfd4d0cc2"
                    ],
                    "NetworkID": "ef567cb7a9580f2f930d39c5a2302532a68e2def73cb5ce19254d5b2282fe9ab",
                    "EndpointID": "fb666bad0f9b1f0a05403db27dd60c7f85061963273960957040c7f1712e8c71",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.3", # 关注这里
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:03",
                    "DriverOpts": null
                }
            }
  1. pgadmin->连接->主机名称/地址 处的localhost 替换成 172.18.0.3 (这是我的,你应该替换为你的)
  2. done!🎉🎉🎉