无法通过pgAdmin连接Docker容器上的Postgres

8
我已经使用docker pull postgres拉取了postgres镜像。 我还尝试从https://docs.docker.com/examples/postgresql_service/运行镜像。
我使用-p 5432: 5432选项运行它们,但无法通过pgAdmin连接。 当我尝试通过localhost:5432连接时,它给了我超时错误。 在互联网上找到的示例说只需使用-p。 我这样做了,但不起作用。 另外,至少从上面的示例中,安全设置非常宽松。 有什么建议吗?

忘了提到我一直在 OS X 下工作。 - Alua K
2个回答

11

根据您运行Docker的方式,这可能不起作用。 Docker守护程序在OS X上运行在虚拟机中,这意味着您需要连接到该IP地址(而不是localhost)。 要查找该IP地址,请键入以下内容:

docker-machine ip default

返回的IP地址将告诉您要连接的IP地址。


谢谢,你的解决方案对我起作用了!之前我试图通过docker inspect 85e44387c718来获取它,但没有成功。 - Alua K

0

我跟随的示例适用于Linux,但在OS X上不起作用。 当您从OS X连接到postgres时,不使用'localhost:5432',而是使用IP:5432。正确的IP地址可以从{{link1:Container in Kinematic}}中找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接