開發環境與生產環境
Vibe Prompt
「幫我建立 docker-compose.override.yml:開發模式開啟 hot reload、掛載原始碼目錄、加入 debug 工具。」
docker-compose.override.yml
services:
backend:
volumes:
- ./backend:/app # 掛載原始碼,修改即時生效
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload
# --reload 開啟熱重載
frontend:
volumes:
- ./frontend:/app
- /app/node_modules # 避免覆蓋 container 內的 node_modules
command: npm run dev # 開發模式
多環境策略
| 環境 | 指令 | 特性 |
|------|------|------|
| 開發 | docker compose up | 自動掛載 + hot reload |
| 測試 | docker compose -f compose.yml -f compose.test.yml up | 測試專用 DB |
| 正式 | docker compose -f compose.yml -f compose.prod.yml up -d | 最佳化建置 |
.env 管理
# .env (不提交到 Git)
DB_USER=myapp
DB_PASS=secret123
DB_NAME=myapp_dev
# .env.production
DB_USER=myapp_prod
DB_PASS=verysecret
DB_NAME=myapp_prod