首頁 >資料庫 >mysql教程 >使用 Spring Boot、Hibernate 和 MySQL Docker 時如何修復「通訊鏈路故障」錯誤?

使用 Spring Boot、Hibernate 和 MySQL Docker 時如何修復「通訊鏈路故障」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-11-02 17:05:29747瀏覽

How to Fix

修正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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn