Tài liệu triển khai dự án Sport DB
Tài Liệu Triển Khai release-db — Laravel trên Docker#
Triển Khai Database Migration Service trên Docker với AWS
🔎 Tổng Quan#
Dự án release-db là dịch vụ quản lý và migration database dựa trên Laravel, chạy với kiến trúc Docker 3 service: PHP-FPM, Nginx Web, và CLI (scheduler/queue worker). Source branch: develop-db-migration.Chi Tiết Dự Án#
| Mục | Giá trị |
|---|
| ECR Repository | sports/release-db-prod |
| Source Branch | develop-db-migration |
| Services | fpm + web + cli |
| Volumes | release_db_storage-data, release_db_bootstrap-data |
🏗 Tổng Quan Kiến Trúc#
Cấu Trúc Thư Mục#
release-db/
├── build/
│ ├── Dockerfile-base.production # Base image cho FPM/CLI
│ ├── Dockerfile.production # Build multi-stage (FPM + Web + CLI)
│ ├── data/php/ # Cấu hình PHP
│ └── source/ # Git submodule → source code
├── .env-release-db.production # Biến môi trường production
├── docker-compose-release-db.yml.production # Docker Compose cho production
└── docs/ # Tài liệu
📦 Yêu Cầu Tiên Quyết#
| Công cụ | Phiên bản tối thiểu | Mục đích |
|---|
| Docker | ≥ 24.0.0 | Build và chạy container |
| Docker Compose | ≥ 2.20.0 | Điều phối nhiều container |
| AWS CLI | ≥ 2.0 | Xác thực và push lên AWS ECR |
| Git | ≥ 2.30 | Quản lý source code & submodules |
⚙ Cấu Hình#
Bước 1: Clone Repository và Khởi Tạo Submodule#
Bước 2: Tạo Docker Volumes#
Bước 3: Cấu Hình Biến Môi Trường#
🏭 Build & Đẩy Image Lên AWS ECR#
Bước 1: Đăng Nhập AWS ECR#
Bước 2: Build & Push Tất Cả Service Images#
🚀 Triển Khai Lên Production#
Bước 1: Triển Khai#
Bước 2: Thiết Lập Laravel Sau Triển Khai#
Bước 3: Kiểm Tra Trạng Thái#
📋 Tham Khảo Cấu Hình Runtime#
Container Services#
| Service | Image Tag | Port | Mục đích |
|---|
fpm | :fpm-latest | 9000 | PHP-FPM xử lý request Laravel |
web | :web-latest | 80 | Nginx phục vụ static files & proxy→FPM |
cli | :cli-latest | — | Laravel scheduler & queue worker |
Volume Mounts#
| Volume | Đường dẫn Container | Chế độ | Services |
|---|
release_db_storage-data | /opt/apps/laravel/storage | RW | fpm, web, cli |
release_db_bootstrap-data | /opt/apps/laravel/bootstrap | RW | fpm, web, cli |
build/source/.env | /opt/apps/laravel/.env | RO | fpm, cli |
Networks#
| Network | Mục đích |
|---|
prod-network | Giao tiếp services production |
backend-network | Giao tiếp services backend |
bongda-cache-network | Kết nối Redis / ElastiCache |
bongda-database-network | Kết nối RDS / database |
Modified at 2026-03-23 04:37:50