跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

部署 Containers

最后更新 查看 MarkdownAgent 设置

从本机部署

  1. 如果 Wrangler 配置中的 image 是 Dockerfile 路径,请启动 Docker ↗ 或其他兼容 Docker 的引擎。指定 Dockerfile 本身,而不是其目录。如果 image 是 registry 引用(Cloudflare Registry、Docker Hub、Amazon ECR 或 Google Artifact Registry),部署时不需要 Docker。请参阅镜像管理。

  2. 在项目目录中运行:

    npx wrangler deploy
  3. 等待命令完成。

wrangler deploy 会在处理容器配置之前上传并激活你的 Worker。对于 Dockerfile 镜像,Wrangler 随后会在需要时构建并推送镜像。对于 registry 镜像,它使用已配置的镜像引用。这些步骤不是事务性的:新 Worker 已经上线后,仍可能发生镜像构建、镜像推送或滚动发布错误。

对于现有容器应用,当有效容器配置发生变化时,Wrangler 会启动滚动发布。该命令不会等待每个容器实例都被替换,因此新的 Worker 代码可能短暂地与仍运行先前镜像的容器通信。首次部署会直接创建容器应用,没有有效容器变更的部署不会启动滚动发布。

有关滚动发布标志和步骤配置,请参阅滚动发布。

使用 Workers Builds 部署

Workers Builds 会运行你为连接到 Git 仓库的 Worker 配置的构建和部署命令。

Git 分支 默认部署命令 Containers
生产分支 npx wrangler deploy 需要时发布镜像并滚动更新容器实例。Dockerfile 构建可以在 Workers Builds 环境中运行。
其他分支(如果启用了非生产分支构建) npx wrangler versions upload 仅上传 Worker 代码。不会发布新镜像或滚动更新容器实例。

生产

  1. 在 Cloudflare 仪表板中,转到 Workers 和 Pages,打开要部署的 Worker,然后转到 设置 > 构建。

    前往 Workers & Pages ↗
  2. 将 部署命令 设置为 npx wrangler deploy,或设置为运行完整部署的包脚本。

  3. 将 Wrangler 配置以及 Dockerfile 或镜像引用放在 Workers Builds 的根目录下。

  4. 推送到你的生产分支。

  5. 确认构建成功,然后检查部署。

要连接仓库,请参阅 Workers Builds。

生产前

  • wrangler deploy 会(在需要时)发布容器镜像,并为你部署的 Worker 滚动更新容器实例。
  • wrangler versions upload(Workers Builds 中非生产分支的默认部署命令)仅上传新的 Worker 版本。它不会发布新镜像或滚动更新容器实例。
  • 版本 URL 不会为实现 Durable Objects 的 Workers 生成,这包括 Containers Workers。成功的非生产 Workers Builds 运行仍会创建 Worker 版本,但不会生成完整应用的版本 URL。
目标 做法
在本机同时更改 Worker 和容器 使用 wrangler dev 进行本地开发
共享一个具有自己的镜像和容器实例的已部署环境 一个 Wrangler 环境或单独的 Worker,每个都连接到 Workers Builds,并使用完整部署命令,例如 npx wrangler deploy --env staging。请参阅 Workers Builds 和 Wrangler 环境。
更新生产 合并到生产分支(或在本地运行 wrangler deploy)

检查部署

在 wrangler deploy 或生产 Workers Builds 部署之后:

  1. 在仪表板中确认新的 Worker 部署处于活动状态。

  2. 发送必须到达容器的请求,并确认你期望的行为。

  3. 可选运行 npx wrangler containers list 和 npx wrangler containers images list,或打开 Containers 仪表板:

    前往 Containers ↗

有关渐进步骤、宽限期和滚动发布模式,请参阅滚动发布。

故障排除

问题 做法
非生产 Workers Builds 运行成功,但你无法完整预览应用 使用本地开发或带有 wrangler deploy 的预发布 Worker 或环境。请参阅生产前。
部署或 Workers Builds 运行成功,但容器实例看起来没有变化 渐进式滚动发布可能仍在运行,或者该命令没有更新容器(versions upload 或 --containers-rollout=none)。请参阅滚动发布。
因缺少 Docker 导致部署失败 仅当 image 是 Dockerfile 路径时才需要。启动 Docker、使用 Workers Builds、切换到 registry 镜像,或使用 --containers-rollout=none 进行仅 Worker 的部署。
首次部署:Worker 可用,容器路由出错 等待几分钟完成配置,然后检查日志。

相关

这篇文档对您有帮助吗?