Maison > Article > base de données > Comment corriger les erreurs « Échec du lien de communication » lors de l'utilisation de Spring Boot, Hibernate et MySQL Docker ?
Correction de l'erreur "Échec du lien de communication" dans la configuration de Spring Boot, Hibernate et MySQL Docker**
Lors de l'exécution d'une application Spring Boot avec Hibernate & MySQL dans un environnement dockerisé, les utilisateurs peuvent rencontrer l'erreur « Échec du lien de communication » en raison de la référence localhost dans l'URL JDBC. Voici comment résoudre ce problème :
Problème :
L'erreur se produit car l'URL JDBC dans le code de l'application fait référence à "localhost" en tant qu'hôte de la base de données. Cependant, dans la configuration Docker, la base de données MySQL s'exécute dans un conteneur distinct avec une adresse IP différente.
Solution :
Pour résoudre ce problème, mettez à jour le JDBC URL dans le fichier docker-compose.yml pour pointer vers le nom du conteneur MySQL au lieu de "localhost":
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
Explication :
Dans le fichier docker-compose.yml mis à jour, la variable d'environnement SPRING_DATASOURCE_URL dans le conteneur "app" est définie pour faire référence au conteneur MySQL par son nom, "docker-mysql". Cela garantit que l'application peut se connecter correctement au conteneur de base de données MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!