Docker - 将容器连接到本地数据库

时间:2021-02-19 02:52:24

标签: java docker dockerfile

我正在对我的本地服务器进行 dockerize,该服务器上有数据库、应用程序服务器和所有其他配置来部署我的应用程序。目前,我已经创建了 3 个运行 Tomcat 或 WildFly 等应用服务器的 docker 容器,并公开了 8081308080 端口,这些部署的应用程序在 Java 中,并从中读取和写入数据到我的本地数据库。在每个应用程序的 persistence.xml 文件中,我已经在我的实际配置中通过 localhost 配置了访问,无需 docker 即可正常工作。

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

我已经创建了这样的容器:

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

这张图片说明了我想做什么 enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

Link 1

Link 2

相关问题