Tôi đã nhận thấy một số vấn đề trên mã của bạn:
-
Docker-compile tệp
-
sử dụng âm lượng ./mysql-data:/var/lib/mysql bạn có nhiều khả năng gặp lỗi này hơn
[ERROR] The designated data directory /var/lib/mysql/ is unusable
thay đổi nó thành bất kỳ thư mục nào, ví dụ:
/data/mysql
-
xác suất mà vùng chứa dịch vụ Java sẽ bắt đầu trước khi vùng chứa cơ sở dữ liệu là rất cao. Do đó, cần phải thêm
restart-on-failure option
hoặcwait-for-it.sh
hoặcsleep option
.Các tùy chọn này sẽ bật vùng chứa dịch vụ để đợi vùng chứa cơ sở dữ liệu để bắt đầu.java: restart: on-failure
-
-
Tệp thuộc tính.
Tệp thuộc tính Dịch vụ Java đang trỏ đến vùng chứa không tồn tại
ms
thay đổi nó thành
spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC
thay vì
spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC
sau khi các thay đổi trên chạy
docker-compose up --build