首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行Dockerfile时连接到数据库?

如何在运行Dockerfile时连接到数据库?
EN

Stack Overflow用户
提问于 2021-10-22 07:51:25
回答 3查看 55关注 0票数 0

我有一个spring boot应用程序,它可以很好地连接到在Desktop Docker中本地运行的PostgreSQL服务器。

然后我写了一个简单的Dockerfile来在容器中运行我的应用程序。容器启动,但无法连接到我的数据库服务器,并显示错误消息:

连接到localhost:5432被拒绝。

为什么以及如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-22 07:55:02

要从docker容器内部访问localhost,您可以使用计算机的IP。Localhost或127.0.0.0无法工作。

票数 1
EN

Stack Overflow用户

发布于 2021-10-22 07:57:29

使用docker compose连接两个docker容器。

https://docs.docker.com/compose/

在此页面上,您可以看到如何使用docker compose连接到容器的示例:

https://dev.to/mozartted/docker-networking--how-to-connect-multiple-containers-7fl

票数 1
EN

Stack Overflow用户

发布于 2021-10-22 07:57:49

如果它们位于不同的Docker网络上,请使用:

docker.host.internal

这将连接到Docker主机。因此,如果您的PostgreSQL实例在5432上公开,docker.host.internal将通过主机从其他容器路由到该实例。

或者,使用docker compose或通过创建网络并将两个容器附加到它们来在同一网络中设置它们。然后,它们可以与容器名称进行通信。

https://docs.docker.com/engine/reference/commandline/network_create/

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

https://stackoverflow.com/questions/69673209

复制
相关文章

相似问题

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