Ho notato un paio di problemi sul tuo codice:
-
File di composizione Docker
-
utilizzando il volume ./mysql-data:/var/lib/mysql è più probabile che incontri questo errore
[ERROR] The designated data directory /var/lib/mysql/ is unusable
cambialo in qualsiasi directory, ad esempio
/data/mysql
-
la probabilità che contenitore di servizi Java inizierà prima del contenitore di database è molto alto. Quindi è necessario aggiungere
restart-on-failure option
owait-for-it.sh
osleep option
.Queste opzioni abiliteranno il contenitore di servizi attendere il contenitore di database per iniziare.java: restart: on-failure
-
-
File delle proprietà.
Il file delle proprietà del servizio Java punta a nessun contenitore di esistenza
ms
cambialo in
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
invece di
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
dopo l'esecuzione delle modifiche precedenti
docker-compose up --build