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 unusablezmień 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 optionlubwait-for-it.shlubsleep 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
mszmień to na
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTCzamiast
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
po uruchomieniu powyższych zmian
docker-compose up --build