Zauważyłem kilka problemów w Twoim kodzie:
-
Docker-compose plik
-
używając woluminu ./mysql-data:/var/lib/mysql jest bardziej prawdopodobne, że napotkasz ten błąd
[ERROR] The designated data directory /var/lib/mysql/ is unusable
zmień go na dowolny katalog, np.
/data/mysql
-
prawdopodobieństwo, że kontener usług Java rozpocznie się jako pierwszy przed kontenerem bazy danych jest bardzo wysoko. Dlatego istnieje potrzeba dodania
restart-on-failure option
lubwait-for-it.sh
lubsleep option
.Te opcje umożliwią kontener usług czekać na kontener bazy danych zacząć.java: restart: on-failure
-
-
Plik właściwości.
Plik właściwości usługi Java wskazuje na brak istnienia kontenera
ms
zmień to na
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
zamiast
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
po uruchomieniu powyższych zmian
docker-compose up --build