為什麼我的 Dockerized Spring Boot 應用程式在連接 MySQL 時會出現「通訊鏈路故障」?

DDD
發布: 2024-11-02 18:11:29
原創
223 人瀏覽過

Why Does My Dockerized Spring Boot App Get

Dockerized Spring Boot、MySQL 和Hibernate:排除「通訊鏈路故障」

在Docker 中執行帶有MyDocker 的Spring Boot SQL在程式時容器中,由於應用程式和資料庫之間的連線問題,可能會遇到「通訊連結失敗」錯誤。透過確保在應用程式的配置中使用正確的資料庫主機名稱可以解決此問題。

在提供的設定中,createConnection 方法在 JDBC URL 中使用 localhost 主機名稱。這是指主機,而不是執行 MySQL Docker 映像的位置。

要解決此問題,應修改 Docker Compose 檔案以在 Spring Boot 應用程式的環境配置中使用 MySQL 映像的主機名稱。這是更新後的 Docker Compose 檔案:

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
登入後複製

透過在 Spring Boot 應用程式的 Docker 映像中指定環境變數 SPRING_DATASOURCE_URL,MySQL 容器 (docker-mysql) 的主機名稱將在 JDBC 連接中使用。這解決了通訊問題並允許應用程式成功連接到資料庫。

以上是為什麼我的 Dockerized Spring Boot 應用程式在連接 MySQL 時會出現「通訊鏈路故障」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!