Mysql
 sql >> Base de données >  >> RDS >> Mysql

Docker :impossible de connecter Spring Boot et MYSQL

J'ai remarqué quelques problèmes sur votre code :

  1. Fichier Docker-compose

    • en utilisant le volume ./mysql-data:/var/lib/mysql vous êtes plus susceptible de rencontrer cette erreur

      [ERROR] The designated data directory /var/lib/mysql/ is unusable

      changez-le dans n'importe quel répertoire, par exemple /data/mysql

    • la probabilité que le conteneur de services Java commencera avant le conteneur de base de données est très élevé. Il est donc nécessaire d'ajouter l'option restart-on-failure option ou wait-for-it.sh ou sleep option .Ces options activeront le conteneur de services attendre le conteneur de la base de données pour commencer.

          java:
             restart: on-failure
      
  2. Fichier de propriétés.

    Le fichier de propriétés du service Java ne pointe vers aucun conteneur d'existence ms

    changez-le en

    spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC

    au lieu de

    spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC

après l'exécution des modifications ci-dessus

docker-compose up --build

Demande d'extraction Github