Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „Kommunikationsverbindungsfehler' bei der Verwendung von Spring Boot, Hibernate und MySQL Docker?
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!