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 unusablecambialo 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 optionowait-for-it.shosleep 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
mscambialo in
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTCinvece di
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
dopo l'esecuzione delle modifiche precedenti
docker-compose up --build