1.8 KiB
1.8 KiB
Docker + Prefect
1. 构建镜像
cd /Users/idss/YXT_Project/gmv-analytics
docker build -t gmv-analytics-prefect:latest .
2. 单次执行
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。
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 --serve
也可以直接用 Compose:
cd /Users/idss/YXT_Project/gmv-analytics
docker compose up -d --build
停止:
docker compose down
4. 如果你是用 Prefect worker 跑容器
先保证你的 Prefect worker 已经连到同一个 PREFECT_API_URL。
推荐命令示例:
prefect worker start --pool default-agent-pool --type process
如果你后面要改成真正的 Docker work pool,再在 Prefect UI 中把 deployment 的基础设施切到 Docker,并指定镜像:
gmv-analytics-prefect:latest
5. 常用覆盖参数
单次 dry-run:
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
指定时间范围:
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