conf: docker

This commit is contained in:
2026-07-01 22:05:48 +07:00
parent 7bdea785f9
commit fde9105834
3 changed files with 22 additions and 8 deletions
+17 -8
View File
@@ -50,38 +50,46 @@ http://localhost:8888
## 3. Cơ chế cấu hình môi trường (.env) ## 3. Cơ chế cấu hình môi trường (.env)
* File `.env` chính của Laravel vẫn nằm ở thư mục root để phục vụ máy local. - File `.env` chính của Laravel vẫn nằm ở thư mục root để phục vụ máy local.
* Khi chạy trong container Docker, hệ thống sẽ sử dụng file **`docker/env/.env.app`** để ghi đè các cấu hình cần thiết (ví dụ: `DB_HOST=host.docker.internal` giúp PHP container kết nối ra cơ sở dữ liệu trên máy thật). - Khi chạy trong container Docker, hệ thống sẽ sử dụng file **`docker/env/.env.app`** để ghi đè các cấu hình cần thiết (ví dụ: `DB_HOST=host.docker.internal` giúp PHP container kết nối ra cơ sở dữ liệu trên máy thật).
--- ---
## 4. Các lệnh cần chạy thủ công khi cập nhật code ## 4. Các lệnh cần chạy thủ công khi cập nhật code
### 4.1. Khi thêm/cập nhật thư viện mới (`composer.json`) ### 4.1. Khi thêm/cập nhật thư viện mới (`composer.json`)
Khi cập nhật hoặc cài đặt gói package PHP mới, bạn cần chạy lệnh cài đặt **bên trong container**: Khi cập nhật hoặc cài đặt gói package PHP mới, bạn cần chạy lệnh cài đặt **bên trong container**:
```bash ```bash
docker compose -f docker/docker-compose.yml exec app composer install docker compose -f docker/docker-compose.yml exec app composer install
``` ```
### 4.2. Khi cập nhật giao diện (CSS / JS / Tailwind classes mới) ### 4.2. Khi cập nhật giao diện (CSS / JS / Tailwind classes mới)
Do Docker container không cài Node.js, bạn cần chạy các lệnh compile frontend trực tiếp **ở máy thật (host)**: Do Docker container không cài Node.js, bạn cần chạy các lệnh compile frontend trực tiếp **ở máy thật (host)**:
* **Chạy chế độ phát triển (Hot Reload):**
- **Chạy chế độ phát triển (Hot Reload):**
```bash ```bash
npm run dev npm run dev
``` ```
* **Build production tĩnh:** - **Build production tĩnh:**
```bash ```bash
npm run build npm run build
``` ```
### 4.3. Khi cập nhật Database (Migrations) ### 4.3. Khi cập nhật Database (Migrations)
Để cập nhật cơ sở dữ liệu khi có migrations mới: Để cập nhật cơ sở dữ liệu khi có migrations mới:
```bash ```bash
docker compose -f docker/docker-compose.yml exec app php artisan migrate docker compose -f docker/docker-compose.yml exec app php artisan migrate
``` ```
### 4.4. Khi chỉnh sửa file `.env` hoặc `.env.app` ### 4.4. Khi chỉnh sửa file `.env` hoặc `.env.app`
Bạn cần khởi động lại container để cập nhật biến môi trường mới và tiến hành xóa cache cấu hình: Bạn cần khởi động lại container để cập nhật biến môi trường mới và tiến hành xóa cache cấu hình:
```bash ```bash
# 1. Restart container app # 1. Restart container app
docker compose -f docker/docker-compose.yml restart app docker compose -f docker/docker-compose.yml restart app
@@ -94,20 +102,21 @@ docker compose -f docker/docker-compose.yml exec app php artisan config:clear
## 5. Các lệnh tiện ích khác ## 5. Các lệnh tiện ích khác
* **Truy cập vào Bash của container app:** - **Truy cập vào Bash của container app:**
```bash ```bash
docker compose -f docker/docker-compose.yml exec app bash docker compose -f docker/docker-compose.yml exec app bash
``` ```
* **Xem log Laravel thời gian thực:** - **Xem log Laravel thời gian thực:**
```bash ```bash
docker compose -f docker/docker-compose.yml exec app tail -f storage/logs/laravel.log docker compose -f docker/docker-compose.yml exec app tail -f storage/logs/laravel.log
``` ```
* **Dọn dẹp toàn bộ cache của Laravel:** - **Dọn dẹp toàn bộ cache của Laravel:**
```bash ```bash
docker compose -f docker/docker-compose.yml exec app php artisan optimize:clear docker compose -f docker/docker-compose.yml exec app php artisan optimize:clear
``` ```
* **Dừng các container:** - **Dừng các container:**
```bash ```bash
docker compose -f docker/docker-compose.yml down docker compose -f docker/docker-compose.yml down
``` ```
docker compose -f docker/docker-compose.yml exec app php artisan key:generate
View File
+5
View File
@@ -16,4 +16,9 @@ touch storage/logs/laravel.log storage/logs/query.log
chmod 666 storage/logs/laravel.log storage/logs/query.log chmod 666 storage/logs/laravel.log storage/logs/query.log
chmod -R 777 storage bootstrap/cache chmod -R 777 storage bootstrap/cache
# Tạo symlink cho storage nếu chưa có (để public file ảnh, upload,...)
if [ ! -L "public/storage" ]; then
php artisan storage:link
fi
exec "$@" exec "$@"