mysql - Dockerized spring boot 应用程序连接到主 MySQL

标签 mysql spring-boot docker deployment containers

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

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

类似这样的jdbc:mysql://locahost:3066/database_name不会工作,因为 localhost 指的是没有 mysql 实例的容器本身。

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

提前致谢。

最佳答案

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

来做到这一点
docker run --add-host mysqlhost:192.168.0.3 ...

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

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

关于mysql - Dockerized spring boot 应用程序连接到主 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546595/

相关文章:

docker - 从内部重启容器

macos - VSCode [远程开发] [转发端口] 是如何工作的?

mysql - 指定了 "127.0.0.1"选项,但仍使用 "localhost"名称

mysql - sql在执行group by之前显示总数

java - 无法在本地 tomcat(spring boot 嵌入式)服务器上运行 Spring Boot 1.5.10.RELEASE

java - 公共(public)端点上的 Spring Boot REST API 401?

mysql - 从子查询中选择多个字段

php - 不在 MySQL 的 Codeigniter 中使用 LIKE 搜索我想要的内容

java - Spring Boot 如何知道要注入(inject)哪个对象?

docker - 使用 IDEA 在 Docker 中进行 Openresty LUA 远程调试