修复 Spring Boot、Hibernate 和 MySQL Docker 设置中的 “通信链接故障”错误**
使用 Hibernate 运行 Spring Boot 应用程序时& MySQL 在 dockerized 环境中,由于 JDBC URL 中的 localhost 引用,用户可能会遇到“通信链接失败”错误。以下是解决此问题的方法:
问题:
发生错误的原因是应用程序代码中的 JDBC URL 引用“localhost”作为数据库主机。但是,在 Docker 设置中,MySQL 数据库运行在具有不同 IP 地址的单独容器中。
解决方案:
要解决此问题,请更新 JDBC docker-compose.yml 文件中的 URL 指向 MySQL 容器的名称,而不是"localhost":
docker-compose.yml
version: '3' services: docker-mysql: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=database - MYSQL_USER=root - MYSQL_PASSWORD=root ports: - 3307:3306 app: image: app:latest ports: - 8091:8091 environment: SPRING_DATASOURCE_URL: jdbc:mysql://docker-mysql:3306/database?autoReconnect=true&useSSL=false depends_on: - docker-mysql
说明:
在更新的 docker-compose 中.yml 文件中,“app”容器中的 SPRING_DATASOURCE_URL 环境变量设置为引用 MySQL容器的名称为“docker-mysql”。这确保应用程序可以正确连接到 MySQL 数据库容器。
以上是使用 Spring Boot、Hibernate 和 MySQL Docker 时如何修复“通信链路故障”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!