Saya melihat beberapa masalah pada kode Anda:
-
File pembuatan Docker
-
menggunakan volume ./mysql-data:/var/lib/mysql kemungkinan besar Anda akan mengalami kesalahan ini
[ERROR] The designated data directory /var/lib/mysql/ is unusable
ubah ke direktori mana saja, mis.
/data/mysql
-
probabilitas wadah layanan Java akan dimulai terlebih dahulu sebelum penampung basis data sangat tinggi. Oleh karena itu ada kebutuhan untuk menambahkan
restart-on-failure option
atauwait-for-it.sh
atausleep option
.Opsi ini akan mengaktifkan wadah layanan untuk menunggu penampung basis data untuk memulai.java: restart: on-failure
-
-
File properti.
File properti Layanan Java menunjuk ke wadah yang tidak ada
ms
ubah menjadi
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
bukannya
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
setelah perubahan di atas dijalankan
docker-compose up --build