ホームページ  >  記事  >  データベース  >  Docker で MySQL に接続すると、Spring Boot アプリで「通信リンク障害」エラーが発生するのはなぜですか?

Docker で MySQL に接続すると、Spring Boot アプリで「通信リンク障害」エラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-01 16:56:02903ブラウズ

Why Does My Spring Boot App Get a

Spring Boot、Hibernate、MySQL、Docker での通信リンクの障害

Docker および前述のテクノロジーを使用してコンテナ化されたアプリケーションを構築する場合、開発者は、 「通信リンク障害」エラーが発生し、MySQL 接続に問題があることを示します。この問題は、JDBC URL での汎用の「localhost」参照の使用が原因で、Docker 環境内では無効になります。

この問題を修正するには、動的に提供される名前または IP アドレスを使用するように JDBC URL を変更します。 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」。これにより、エラーが解決され、アプリケーションはデータベースへの接続を正常に確立できるようになります。

以上がDocker で MySQL に接続すると、Spring Boot アプリで「通信リンク障害」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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