Heim  >  Artikel  >  Datenbank  >  Warum erhält meine Spring Boot-App beim Herstellen einer Verbindung zu MySQL in Docker den Fehler „Kommunikationsverbindungsfehler“?

Warum erhält meine Spring Boot-App beim Herstellen einer Verbindung zu MySQL in Docker den Fehler „Kommunikationsverbindungsfehler“?

DDD
DDDOriginal
2024-11-01 16:56:02903Durchsuche

Why Does My Spring Boot App Get a

Kommunikationsverbindungsfehler in Spring Boot, Hibernate, MySQL und Docker

Beim Erstellen von Containeranwendungen mit Docker und den oben genannten Technologien kommt es bei Entwicklern häufig zu Problemen Der Fehler „Kommunikationsverbindungsfehler“ tritt auf, was auf ein Problem mit der MySQL-Konnektivität hinweist. Dieses Problem ist auf die Verwendung der generischen „localhost“-Referenz in der JDBC-URL zurückzuführen, die in Docker-Umgebungen ungültig wird.

Um dieses Problem zu beheben, ändern Sie die JDBC-URL so, dass sie den dynamisch bereitgestellten Namen oder die IP-Adresse von verwendet der MySQL-Container. Bearbeiten Sie in der bereitgestellten Datei „docker-compose.yml“ die Umgebungsvariable „SPRING_DATASOURCE_URL“ im Dienst „app“:

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

Diese Änderung weist die JDBC-URL an, unter Verwendung ihres Alias ​​eine Verbindung zum MySQL-Container herzustellen „docker-mysql“ und der richtige Port „3306“. Dadurch sollte der Fehler behoben sein und die Anwendung sollte in der Lage sein, erfolgreich eine Verbindung zur Datenbank herzustellen.

Das obige ist der detaillierte Inhalt vonWarum erhält meine Spring Boot-App beim Herstellen einer Verbindung zu MySQL in Docker den Fehler „Kommunikationsverbindungsfehler“?. 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