Files
YG_FT/docker
wuyongtao 3b9361c237 merge: 合并远程 ft_wyt 分支,解决权限与日志模块冲突
- 冲突解决原则:本地权限治理(require_admin/current_user/资源ACL)与远程 op_log 日志装饰器双向保留
- platform.py: 9 处冲突,@op_log 与管理员校验叠加,避免远程丢失 require_admin 的安全回归
- logging.py: 合并 get_client_ip 与 user_id_var,X-Trace-Id 优先 + ContextVar 卫生处理
- op_log.py: 采纳远程将变量计算上移到函数顶部的结构
- compute_poller.py: 中文日志 + 失败去重限流/断连重置逻辑
- data_process.py: 保留租户归属字段 + biz_logger 成功日志
2026-08-21 09:58:43 +08:00
..

Docker 部署说明

部署边界

生产规划分为应用服务器、存储服务器和算力服务器。应用服务器运行 Frontend Nginx、Backend API、Redis存储服务器运行 MinIO算力服务器运行 Compute API、Compute Agent、GPU 和训练引擎。三类服务器不共享 Docker 网络,通过可路由地址通信。

当前 WSL 联调地址为 172.25.179.69,拆分部署时必须替换为真实服务器地址。

配置

应用服务器 docker/app/.env

MINIO_ENABLED=true
MINIO_ENDPOINT=http://172.25.179.69:19000
COMPUTE_API_BASE_URL=http://172.25.179.69:19100
FILE_GATEWAY_BASE_URL=http://172.25.179.69:19101
COMPUTE_STATUS_SYNC_MODE=polling
COMPUTE_POLL_INTERVAL_SECONDS=3

MinIO 不需要额外安装 Python 包Backend 的 MinIO 兼容访问依赖随 backend/requirements.txt 安装。生产环境应使用固定 DNS/IP、内网访问和防火墙白名单。

构建和启动

docker build -f docker/app/Dockerfile.backend -t yg-ft-backend-api:latest .
docker build -f docker/app/Dockerfile.frontend -t yg-ft-frontend-runtime:latest .
docker build -f docker/compute/Dockerfile.compute -t yg-ft-compute-api:latest .
cd docker/minio && docker compose up -d
cd ../app && docker compose up -d
cd ../compute && docker compose up -d

验证命令:docker compose pscurl http://<app-server>:17861/modelTF/healthcurl http://<compute-server>:19100/modelTF/healthcurl http://<minio-server>:19000/minio/health/live

端口

服务 主机端口 容器端口
Frontend 16801 80
Backend API 17861 8000
Redis 16379 6379
MinIO API/Console 19000/19001 9000/9001
Compute API/File Gateway 19100/19101 9100

数据和安全

算力主机应持久化 /data/yg-ft/modelsdatasetstrained_modelsoutputscache 以及训练日志目录。上述目录是 Compute Agent 的本地缓存和运行目录,权威对象必须归档 MinIO。

  • Compute API 和 File Gateway 开启 token 认证。
  • MinIO 不直接暴露公网,使用内网或安全组限制访问。
  • 不在镜像和 Git 中提交数据库、Redis、MinIO 密码或服务 token。
  • 当前 Compute API 默认 root 仅适用于开发阶段,生产环境需评估非 root 和 GPU/挂载目录权限改造。

拆分验证

从 Backend 容器验证 MinIO 和每个 Compute API 的 health上传数据集、训练、权重合并、推理和节点断网重试均需完成一次联调。