Maison  >  Article  >  base de données  >  Pourquoi mon application Spring Boot obtient-elle une erreur « Échec du lien de communication » lors de la connexion à MySQL dans Docker ?

Pourquoi mon application Spring Boot obtient-elle une erreur « Échec du lien de communication » lors de la connexion à MySQL dans Docker ?

DDD
DDDoriginal
2024-11-01 16:56:02981parcourir

Why Does My Spring Boot App Get a

Échec du lien de communication dans Spring Boot, Hibernate, MySQL et Docker

Lors de la création d'applications conteneurisées à l'aide de Docker et des technologies susmentionnées, les développeurs ont souvent rencontrez l'erreur « Échec du lien de communication », indiquant un problème avec la connectivité MySQL. Ce problème provient de l'utilisation de la référence générique "localhost" dans l'URL JDBC, qui devient invalide dans les environnements Docker.

Pour résoudre ce problème, modifiez l'URL JDBC pour utiliser le nom ou l'adresse IP fourni dynamiquement. le conteneur MySQL. Dans le fichier "docker-compose.yml" fourni, modifiez la variable d'environnement "SPRING_DATASOURCE_URL" dans le service "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

Cette modification demande à l'URL JDBC de se connecter au conteneur MySQL en utilisant son alias. "docker-mysql" et le port correct "3306". Ce faisant, l'erreur devrait être résolue et l'application devrait pouvoir établir une connexion réussie à la base de données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn