- Tải Docker desktop nếu dùng Windows, nếu Linux thì cài Docker Engine
- Mở Docker Desktop (nhớ mở, nếu không sẽ không chạy được)
- Kéo image từ Docker Hub xuống
docker compose pull- Khởi động lần đầu tiên hoặc thêm thư viện vào requirements.txt trong ai service:
docker-compose up --build- Khởi động thông thường (sau các lần đầu):
docker-compose up- Chạy ngầm:
docker-compose up -d- Xem logs:
docker-compose logs -f- Khởi động lại một service cụ thể:
docker-compose restart ai-service- AI Service: Code Python sẽ tự động reload với flag
--reloadcủa uvicorn - Go Backend: Cần restart service khi có thay đổi code:
docker-compose restart go-backend
docker-compose down-
Golang Hot Reload: Để có hot reload với Go, cập nhật Dockerfile của backend để sử dụng công cụ như
airhoặcCompileDaemon(đang không dùng). -
Container đang chạy: Nếu thay đổi Dockerfile, cần chạy
docker-compose up --buildđể áp dụng thay đổi. -
Phân biệt môi trường:
- Development: Sử dụng volume mapping như trên
- Production: Không dùng volume mapping và
--reloadhoặc hot reload
-
Vấn đề permission: Trên Linux, có thể gặp vấn đề quyền truy cập với volume mapping. Kiểm tra quyền của thư mục và owner của files.
-
Đối với AI Service: Khi cài đặt thêm thư viện Python mới, cần rebuild lại container:
docker-compose up --build ai-service
- Chạy từng service một
- Cách chạy các service cụ thể đã được viết trong các file README.md trong các folder tương ứng
- Nhớ cài đặt đầy đủ theo yêu cầu