核心用法
xCloud Docker Deploy 是一款面向 xCloud 平台的项目感知型部署技能,专注于将现有 Docker 项目适配至 xCloud 的 Custom Docker 部署模式。其核心工作流程分为三个阶段:
Phase 0 — 项目类型检测:通过扫描 wp-config.php、composer.json、package.json、requirements.txt 等标志性文件,自动识别 WordPress、Laravel、Next.js、Node.js、Python 等技术栈,并路由至对应的处理路径。
Step 1 — 场景判定:分析 docker-compose.yml 的内容,识别四种典型场景:
- Scenario A:源码构建(含
build:指令)→ 移除构建指令,改用 GHCR 预构建镜像 - Scenario B:代理冲突 / 多端口 / 外部配置 → 移除 Caddy/Traefik/nginx-proxy,替换为单端口
nginx-router - Scenario C:多服务构建 → 为每个服务生成独立的 GHCR 镜像路径和矩阵式 CI 工作流
- 兼容模式:单镜像 + 单端口,仅需验证端口和环境变量
关键输出物:修改后的 docker-compose.yml、.github/workflows/docker-build.yml(Scenario A/C)、.env.example 以及分步部署指南。
显著优点
1. 平台深度适配:专门针对 xCloud 的约束设计,自动处理 build: 指令忽略、SSL 层冲突、保留端口 80/443 等常见问题
2. 智能端口重写:内置规则自动将非法的 80:80 映射改写为 3080:80,避免部署失败
3. 零配置 CI 集成:基于模板自动生成 GitHub Actions 工作流,支持单服务或多服务矩阵构建
4. 多栈支持:覆盖 WordPress、Laravel、Next.js、Node.js、Python、Go 等主流技术栈
5. 安全沙箱设计:声明无网络调用、无可执行文件、完全沙箱化运行
潜在缺点与局限性
- 平台绑定较深:生成的配置高度针对 xCloud 优化,迁移至其他 Docker 平台需手动调整
- GHCR 依赖:预构建镜像强制使用 GitHub Container Registry,未内置支持 Docker Hub 或其他镜像仓库
- 版本兼容性要求:
configs.content:内联语法需要 Docker Compose v2.23+,旧版本需退避至command:方案 - 复杂路由场景有限:对于需要精细控制请求路由、多域名或高级重写规则的应用,自动生成的
nginx-router可能不足
适合人群
- 使用 xCloud 托管的开发者与 DevOps 工程师
- 希望将现有 Docker 项目迁移至 xCloud 的团队
- 需要快速搭建 CI/CD 流水线但不愿深入编写 GitHub Actions 配置的技术人员
- 运行 WordPress、Laravel、Next.js 等常见框架的中型项目
常规风险
1. 端口冲突未完全覆盖:虽然自动重写 80/443,但若用户手动指定其他系统保留端口(如 22、25),可能仍会导致部署失败
2. 环境变量遗漏:.env.example 基于 ${VAR} 模式提取,动态生成或运行时计算的环境变量可能未被捕获
3. 镜像拉取延迟:首次部署依赖 GHCR 构建完成,若网络或权限配置不当,xCloud 部署可能因镜像不存在而失败
4. 数据卷持久化:技能提示保留 volumes: 配置,但未主动验证数据备份策略,生产环境需自行确保数据安全
5. 官方 API 职责分离:本技能仅处理项目配置生成,实际的服务器、站点、SSL 等运维操作需调用官方 xcloud:* 技能,用户需明确区分两者边界