Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ein „Kommunikationsverbindungsfehler' in Spring Boot mit Docker und MySQL behoben werden?

Patricia Arquette
Freigeben: 2024-11-02 10:06:31
Original
422 Leute haben es durchsucht

How to Fix

Häufiger Fehler: Kommunikationsverbindungsfehler in Spring Boot mit Docker und MySQL

Entwickler, die Spring Boot, Hibernate und MySQL in einer Docker-Umgebung verwenden, können auf ein häufiges Problem stoßen in dieser Fehlermeldung:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
java.net.ConnectException: Connection refused.
Nach dem Login kopieren

Dieser Fehler ist normalerweise auf einen falschen Hostverweis in der JDBC-URL zurückzuführen. Um dieses Problem zu beheben, ist es wichtig, die JDBC-URL so zu ändern, dass sie auf den richtigen Datenbank-Hostnamen in der Docker-Umgebung verweist.

Hier ist eine klare Demonstration der Lösung:

1. Docker Compose-Konfiguration:

Die bereitgestellte Datei docker-compose.yml verwendet localhost als Host für den MySQL-Datenbankcontainer, was in der Docker-Umgebung falsch ist.

2 . Korrigierte Docker Compose-Konfiguration:

Um dies zu beheben, aktualisieren Sie die Datei docker-compose.yml wie folgt:

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
Nach dem Login kopieren

In dieser aktualisierten Konfiguration bezieht sich der Host auf den Docker-MySQL der Name des MySQL-Containers, der eine ordnungsgemäße Konnektivität innerhalb der Docker-Umgebung gewährleistet.

3. Aktualisieren Sie die Spring Boot-Anwendungskonfiguration:

Entfernen Sie die Eigenschaft spring.datasource.url aus der Datei application.properties. Spring Boot verwendet die Umgebungsvariable SPRING_DATASOURCE_URL, um die JDBC-URL zu konfigurieren.

Durch die Implementierung dieser Änderungen sollte die Anwendung in der Lage sein, eine erfolgreiche Verbindung zur MySQL-Datenbank in der Docker-Umgebung herzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ein „Kommunikationsverbindungsfehler' in Spring Boot mit Docker und MySQL behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage