无法从Spring Boot Docker容器连接到本地MySQL数据库服务器

时间:2019-04-19 07:49:44

标签: mysql spring-boot docker

我正在Windows 10环境中工作。 我的Docker版本1.13.0,内部版本49bf474。

我有一个运行在Docker容器上的Spring Boot应用程序 我正在尝试从Spring应用程序访问MySQL的本地实例。我的MYSQL实例未在容器上运行。

  

我了解这是网络问题,已经尝试运行docker   使用以下命令:docker run -p 8282:8191 ami --network =“ host”   但没有成功。

有人可以帮我解决这个问题吗?

谢谢。

注意:我的Spring应用程序配置很好,因为我能够从容器连接AWS MSQL RDS服务器而没有任何问题。

我收到如下错误

2019-04-19 07:33:32.025  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3308 ms
2019-04-19 07:33:32.264  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-04-19 07:33:33.422 ERROR 1 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

少量信息:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/financedb
spring.datasource.username=****
spring.datasource.password=****
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

1 个答案:

答案 0 :(得分:1)

适用于Windows的Docker使用vm运行Linux容器。因此,以net = host运行时,“本地主机”是虚拟机,而不是Windows计算机 您可以使用特殊的主机名作为MySQL主机

docker.for.win.localhost

这指向您的Windows计算机,您甚至可以在没有net = host的情况下运行。