首页 > 解决方案 > Docker - 将容器连接到本地数据库

问题描述

我正在对我的本地服务器进行 docker 化,该服务器上有数据库、应用程序服务器和所有其他配置来部署我的应用程序。目前,我已经创建了 3 个运行 Tomcat 或 WildFly 等应用程序服务器的 docker 容器,并公开了这些部署的应用程序的端口80,这些应用程序使用 Java 并从/向我的本地数据库读取和写入数据。在每个应用程序的文件上,我已经在我的实际配置中配置了访问权限,在没有 docker 的情况下也可以正常工作。81308080persistence.xmllocalhost

我想将容器上的应用程序连接到主机上对应的数据库,我该怎么做?

我创建了这样的容器:

docker run -d --name app_server1 -p 80:80 wildfly_website:1.0
docker run -d --name app_server2 -p 8130:8130 geoserver:1.0

这张图片说明了我想要做什么 在此处输入图像描述

标签: javadockerdockerfile

解决方案


听起来您在 persistence.xml 文件中指定的访问权限正在尝试访问docker 容器内的这些端口。您想访问主机上容器外部的这些端口,而不是图像认为的 localhost,它实际上是您的 docker 容器。

查看这些 SO 帖子,其中详细介绍了解决此问题的方法。

链接 1

链接 2


推荐阅读