Забелязах няколко проблема във вашия код:
-
Docker-compose файл
-
използвайки обем ./mysql-data:/var/lib/mysql по-вероятно е да срещнете тази грешка
[ERROR] The designated data directory /var/lib/mysql/ is unusable
променете го във всяка директория, например
/data/mysql
-
вероятността контейнер за услуги на Java ще започне първо преди контейнер на база данни е много висока. Следователно има нужда да се добави
restart-on-failure option
илиwait-for-it.sh
илиsleep option
.Тези опции ще активират сервизния контейнер да изчакате контейнер на база данни за да започнете.java: restart: on-failure
-
-
Файл със свойства.
Файлът със свойства на Java Service сочи към несъществуващ контейнер
ms
променете го на
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
вместо
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
след изпълнение на горните промени
docker-compose up --build