ホームページ  >  記事  >  データベース  >  Spring Boot、Hibernate、MySQL Docker の使用時に発生する「通信リンク障害」エラーを修正する方法

Spring Boot、Hibernate、MySQL Docker の使用時に発生する「通信リンク障害」エラーを修正する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 17:05:29649ブラウズ

How to Fix

Spring Boot、Hibernate、MySQL Docker セットアップでの 「通信リンク障害」エラーの修正**

Hibernate で Spring Boot アプリケーションを実行しているときDocker 化環境の MySQL では、JDBC URL のローカルホスト参照が原因で「通信リンク障害」エラーが発生する可能性があります。この問題に対処する方法は次のとおりです。

問題:

アプリケーション コード内の JDBC URL がデータベース ホストとして「localhost」を参照しているためにエラーが発生します。ただし、Docker セットアップでは、MySQL データベースは異なる IP アドレスを持つ別のコンテナーで実行されています。

解決策:

この問題を解決するには、JDBC を更新します。 "localhost" の代わりに MySQL コンテナーの名前を指す docker-compose.yml ファイル内の URL:

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 環境変数が、「docker-mysql」という名前で MySQL コンテナーを参照するように設定されています。これにより、アプリケーションが MySQL データベース コンテナに正しく接続できるようになります。

以上がSpring Boot、Hibernate、MySQL Docker の使用時に発生する「通信リンク障害」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。