Spring Boot、Hibernate、MySQL 和 Docker 中的通信链路故障
在使用 Docker 和上述技术构建容器化应用时,开发人员经常会遇到以下问题:遇到“通信链接失败”错误,表明 MySQL 连接出现问题。此问题源于 JDBC URL 中使用通用“localhost”引用,该引用在 Docker 环境中无效。
要纠正此问题,请修改 JDBC URL 以使用动态提供的名称或 IP 地址MySQL 容器。在提供的“docker-compose.yml”文件中,编辑“app”服务中的“SPRING_DATASOURCE_URL”环境变量:
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
此更改指示 JDBC URL 使用其别名连接到 MySQL 容器“docker-mysql”和正确的端口“3306”。通过这样做,错误应该得到解决,并且应用程序应该能够与数据库建立成功的连接。
以上是为什么我的 Spring Boot 应用程序在 Docker 中连接 MySQL 时出现“通信链路故障”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!