首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring引导无法连接到同一个网络中的docker中的mysql

Spring引导无法连接到同一个网络中的docker中的mysql
EN

Stack Overflow用户
提问于 2021-12-06 13:02:03
回答 1查看 1.1K关注 0票数 -1

运行mysql映像的最新版本 不重复这个问题

代码语言:javascript
运行
复制
 docker run -d --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=test123" --env="MYSQL_USER=user1"  --env="MYSQL_PASSWORD=test123" --env="MYSQL_DATABASE=dockertest" -p 3306:3306 mysql

运行Spring引导应用程序映像:

代码语言:javascript
运行
复制
docker run -t -p 8080:8080 --link docker-mysql:mysql docker-userapp

注意:

  1. 当我在本地环境中使用mysql使用这些凭据运行spring引导时,项目工作良好。
  2. 上面运行的MySQL容器工作得很好,因为我可以登录到容器化的MySQL服务器并手动运行命令。

看起来,MySQL容器是可以的,但不知怎么的,spring引导无法访问数据库。我是新来码头的。请建议我需要换什么?

spring application.properties文件:

代码语言:javascript
运行
复制
spring.jpa.hibernate.ddl-auto=update
server.servlet.contextPath=/docker-api
spring.datasource.url=jdbc:mysql://localhost:3306/dockertest
spring.datasource.username=user1
spring.datasource.password=test123

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.dialect.storage_engine=innodb
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.id.new_generator_mappings=true
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.show-sql=true

错误日志:

2021-12-06 12:46:18.386 INFO 1--主com.zaxxer.hikari.HikariDataSource : HikariPool-1 -开始.2021-12-06 12:46:18.389警告1--主com.zaxxer.hikari.util.DriverDataSource :没有找到带有driverClassName=com.mysql.jdbc.Driver的注册驱动程序,尝试直接实例化。2021-12-06 12:46:19.505错误1--主com.zaxxer.hikari.pool.HikariPool : HikariPool-1 -池初始化期间的异常. com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 最后一个成功发送到服务器的数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。在com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~mysql-连接器-java-8.0.27.jar!/:8.0.27在com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~mysql-连接器-java-8.0.27.jar!/:8.0.27在com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~mysql-连接器-java-8.0.27.jar!/:8.0.27在com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448) ~mysql-连接器-java-8.0.27.jar!/:8.0.27在com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~mysql-连接器-java-8.0.27.jar!/:8.0.27在com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~mysql连接器-java-8.0.27.jar在com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~HikariCP-4.0.3.jar!/:na在com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~HikariCP-4.0.3.jar!/:na在com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~HikariCP-4.0.3.jar!/:na在com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) HikariCP-4.0.3.jar!/:na at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) HikariCP-4.0.3.jar!/:na at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) HikariCP-4.0.3.jar!/:na at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) HikariCP-4.0.3.jar!/:na在org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) hibernate-核-5.6.1.final.jar!org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:181) hibernate的/:5.6.1.Final-5.6.1.Final.jar!org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) hibernate的/:5.6.1.Final-核心-5.6.1.final.jar!org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) hibernate的/:5.6.1.Final--5.6.1.final.jar!/:5.6.1.Final

EN

回答 1

Stack Overflow用户

发布于 2021-12-06 13:34:44

此错误意味着您没有驱动程序依赖项作为您的APP.jar库的一部分,该库正在码头上运行。

首先,查看您的/target/app.jar,解压缩这个jar并查看它是否是一个胖jar,这意味着它在那里有所有必需的依赖项。

看看是否能在那里找到jar mysql-connector-java,这就是您所缺少的。

Maven:

https://mvnrepository.com/artifact/mysql/mysql-connector-java

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70245942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档