Забелязах няколко проблема във вашия код:
-
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