添加docker文件

This commit is contained in:
2026-03-13 18:55:33 +08:00
parent fff6504412
commit 5bf8a012ce
7 changed files with 378 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
# Docker + Prefect
## 1. 构建镜像
```bash
cd /Users/idss/YXT_Project/gmv-analytics
docker build -t gmv-analytics-prefect:latest .
```
## 2. 单次执行
```bash
docker run --rm \
--env-file /Users/idss/YXT_Project/gmv-analytics/.env \
-e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
gmv-analytics-prefect:latest \
python prefect_gmv_scheduler.py
```
## 3. 启动每天 09:00 的 Prefect 调度
这会连接 `.env` 中已经配置的 `PREFECT_API_URL`,并在 Prefect 中启动一个 deployment。
```bash
docker run --rm \
--env-file /Users/idss/YXT_Project/gmv-analytics/.env \
-e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
gmv-analytics-prefect:latest
```
容器默认执行:
```bash
python prefect_gmv_scheduler.py --serve
```
也可以直接用 Compose:
```bash
cd /Users/idss/YXT_Project/gmv-analytics
docker compose up -d --build
```
停止:
```bash
docker compose down
```
## 4. 如果你是用 Prefect worker 跑容器
先保证你的 Prefect worker 已经连到同一个 `PREFECT_API_URL`。
推荐命令示例:
```bash
prefect worker start --pool default-agent-pool --type process
```
如果你后面要改成真正的 Docker work pool,再在 Prefect UI 中把 deployment 的基础设施切到 Docker,并指定镜像:
```text
gmv-analytics-prefect:latest
```
## 5. 常用覆盖参数
单次 dry-run:
```bash
docker run --rm \
--env-file /Users/idss/YXT_Project/gmv-analytics/.env \
-e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
gmv-analytics-prefect:latest \
python prefect_gmv_scheduler.py --dry-run
```
指定时间范围:
```bash
docker run --rm \
--env-file /Users/idss/YXT_Project/gmv-analytics/.env \
-e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
gmv-analytics-prefect:latest \
python prefect_gmv_scheduler.py --start-date 2026-03-01 --end-date 2026-03-12
```