我创建了一个Docker Container,如下所示:
docker run -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=docker library/postgres
我现在想将它连接到Datagrip进行查询.当我尝试在Datagrip中设置连接时,它会失败.
DataGrip连接失败错误
我从中获取了主机IPinspect container <container_id>
哪个出现172.17.0.2在港口5432.
请参阅图片以供参考. 容器的配置设置但是,当我尝试连接到DataGrip时,连接仍然失败.
有谁知道如何去做?
Gao*_*uan 11
DataGrip无法连接到运行Postgres的容器的原因是,在这种情况下,您没有暴露容器的任何端口5432.
您获取172.17.0.2的容器的IP地址,即容器在Docker容器网络中的内部IP地址,在您的情况下bridge,如果您未指定--network={NETWORK}选项,则为容器连接的默认网络docker run.
虽然有办法找到容器的"真实"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选项.
之后,您应该能够通过指定localhost为主机从DataGrip连接到您的容器.请参阅此屏幕截图以供参考.
| 归档时间: |
|
| 查看次数: |
2200 次 |
| 最近记录: |