Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „Kommunikationsverbindungsfehler' bei der Verwendung von Spring Boot, Hibernate und MySQL Docker?

Wie behebt man den Fehler „Kommunikationsverbindungsfehler' bei der Verwendung von Spring Boot, Hibernate und MySQL Docker?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 17:05:29747Durchsuche

How to Fix

Behebung des Fehlers „Kommunikationsverbindungsfehler“ im Spring Boot-, Hibernate- und MySQL Docker-Setup**

Beim Ausführen einer Spring Boot-Anwendung mit Hibernate & MySQL in einer Docker-Umgebung können Benutzer aufgrund der Localhost-Referenz in der JDBC-URL auf den Fehler „Kommunikationslinkfehler“ stoßen. So beheben Sie dieses Problem:

Problem:

Der Fehler tritt auf, weil die JDBC-URL im Anwendungscode auf „localhost“ als Datenbankhost verweist. Allerdings läuft die MySQL-Datenbank im Docker-Setup in einem separaten Container mit einer anderen IP-Adresse.

Lösung:

Um dieses Problem zu beheben, aktualisieren Sie den JDBC URL in der Datei docker-compose.yml, die auf den Namen des MySQL-Containers anstelle von „localhost“ verweist:

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

Erklärung:

In der aktualisierten Datei docker-compose.yml ist die Umgebungsvariable SPRING_DATASOURCE_URL im Container „app“ so eingestellt, dass sie mit ihrem Namen „docker-mysql“ auf den MySQL-Container verweist. Dadurch wird sichergestellt, dass die Anwendung korrekt eine Verbindung zum MySQL-Datenbankcontainer herstellen kann.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Kommunikationsverbindungsfehler' bei der Verwendung von Spring Boot, Hibernate und MySQL Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn