Dockerized Spring Boot 应用程序连接到主 MySQL [重复]

Posted

技术标签:

【中文标题】Dockerized Spring Boot 应用程序连接到主 MySQL [重复]【英文标题】:Dockerized springboot app connect to main MySQL [duplicate] 【发布时间】:2019-12-24 01:47:22 【问题描述】:

我有一个需要 mysql 运行的“dockerized”springboot 应用程序。

我在我的 ubuntu 上安装了 mysql,并且想使用 docker 启动我的应用程序的容器,并且需要知道在数据库 url 连接中指定什么,以便我的应用程序连接到我的 ubuntu 上安装的 mysql。

jdbc:mysql://locahost:3066/database_name 之类的东西不起作用,因为 localhost 指的是没有 mysql 实例的容器本身。

另一个解决方案是启动一个 mysql docker 容器并指定它的名称来代替 localhost...但是我不想启动一个 mysql docker 容器,因为我已经安装了 mysql(并且需要卷配置来保存数据坚持

提前致谢。

【问题讨论】:

检查this 【参考方案1】:

您需要将主机的 IP 映射到容器内的名称。你用

docker run --add-host mysqlhost:192.168.0.3 ...

您需要提供主机的 IP 而不是 192.168.0.3

那么您的连接字符串将是:jdbc:mysql://mysqlhost:3066/database_name

【讨论】:

是的,它可以工作,但主机的 ip 可能会改变:/ 所以使用自动化方式获取 IP 并将其集成到您的命令中;)

以上是关于Dockerized Spring Boot 应用程序连接到主 MySQL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

dockerized 环境中的 Keycloak 和 Spring Boot Web 应用程序

Dockerized Spring boot 和 Zuul

Dockerized Spring Boot 应用程序连接到主 MySQL [重复]

java.net.UnknownHostException 来自 Spring Boot 应用程序的 dockerized mysql

Dockerized Spring Boot 应用程序不使用已安装的 Kubernetes ConfigMap (application.properties)

将外部 application.properties 文件添加到 tomcat 内的 dockerized spring boot web 应用程序