首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGrip连接与Postgres失败

DataGrip连接与Postgres失败
EN

Stack Overflow用户
提问于 2017-12-15 02:52:01
回答 2查看 7.6K关注 0票数 5

我创建了一个Docker容器,如下所示:

docker run -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=docker library/postgres

现在我想将它连接到Datagrip以进行查询。当我试图在Datagrip中建立一个连接时,它失败了。DataGrip连接失败错误 I从inspect container <container_id>获取主机ip

结果是172.17.0.25432港。

请参阅图片以供参考。然而,当我尝试连接到容器的配置设置时,连接仍然失败。

有人知道怎么做吗??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 23:03:03

DataGrip未能连接到运行Postgres的容器的原因是您没有公开容器的任何端口,在本例中是5432

获取的容器的IP地址,即172.17.0.2,是容器在码头容器网络中的内部IP地址,在您的例子中,bridge是容器连接到的默认网络,如果您没有指定docker run--network={NETWORK}选项的话。

尽管有一些方法可以找到容器的“真实”IP地址,但它们总是太复杂,对您的目的没有用处。DataGrip连接到Postgres容器的最简单方法是通过运行发布您的端口5432并将其映射到主机的同一端口(或任何其他可用端口):

docker run -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=docker -p 5432:5432 library/postgres

使用-p 5432:5432选项。

之后,您应该能够通过指定DataGrip作为主机来连接到您的容器。请看这张截图以供参考。

票数 22
EN

Stack Overflow用户

发布于 2022-06-09 12:13:35

好吧,所以我和这个斗争了好几天,什么也没做。

如果您无法通过本地主机从Datagrip连接到您的PostgreSQL数据库,并且您确信一切都是应该的,

Windows PC

  1. 开放服务
  2. 禁用本地运行的所有PostgreSQL服务

现在,您可以连接到localhost:5432

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47825130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档