Jag har märkt ett par problem med din kod:
-
Docker-compose-fil
-
med volym ./mysql-data:/var/lib/mysql det är mer sannolikt att du stöter på det här felet
[ERROR] The designated data directory /var/lib/mysql/ is unusable
ändra den till valfri katalog, t.ex.
/data/mysql
-
sannolikheten att Java-tjänstbehållare startar först före databasbehållaren är mycket hög. Därför finns det ett behov av att lägga till
restart-on-failure option
ellerwait-for-it.sh
ellersleep option
.De här alternativen aktiverar tjänstebehållare för att vänta på databasbehållare för att starta.java: restart: on-failure
-
-
Egenskapsfil.
Java Service-egenskapsfilen pekar på ingen existensbehållare
ms
ändra det till
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
istället för
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
efter ovanstående ändringar körs
docker-compose up --build