J'ai remarqué quelques problèmes sur votre code :
-
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
ouwait-for-it.sh
ousleep option
.Ces options activeront le conteneur de services attendre le conteneur de la base de données pour commencer.java: restart: on-failure
-
-
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