修正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
說明:
在更新的cker-compose. “app”容器中的SPRING_DATASOURCE_URL 環境變數設定為透過名稱“docker-mysql”引用MySQL 容器。這可確保應用程式可以正確連接到 MySQL 資料庫容器。
以上是使用 Spring Boot、Hibernate 和 MySQL Docker 時如何修復「通訊鏈路故障」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!