Cloudflare Container 在 Cloudflare 网络上的完整 Linux 环境中运行你的容器镜像,并与 Worker 协同工作。Worker 处理传入的 HTTP 请求,而 Container 提供应用程序所需的运行时、二进制文件和语言。两者结合后,你可以运行 Linux 工作负载,而无需管理底层基础设施。
在 Worker 旁边运行 Linux 工作负载。
Worker 在隔离的 JavaScript 环境中运行代码。Container 在完整的 Linux 环境中运行你的镜像,因此当应用需要时,你可以带上自定义运行时和二进制文件。每个 Container 实例都在自己的虚拟机中运行,从而与其他工作负载隔离。Worker 接收入站 HTTP 请求并将其路由到 Container,因此 Container 不会直接暴露给终端用户。
请求到达 Worker,Worker 再将其路由到运行在独立虚拟机中的 Container。Worker 始终位于 Container 前面,由 Container 处理该请求。
更多信息请参阅 Container 生命周期。
将每个请求都通过 Worker 路由。
请求从 Worker 开始,Worker 使用 Durable Object 层来识别并到达 Container。该层协调路由和生命周期行为,使 Container 在运行期间可以继续处理请求。Container 可以在收到第一个请求时启动,因此第一个请求完成时间可能更长。
请求从客户端流向 Worker,再到 Container。Worker 和 Durable Object 层在 Container 处理请求之前协调路由和生命周期行为。如果 Container 尚未运行,会在该过程中启动。
更多信息请参阅 Container 生命周期。
按需启动,空闲后停止。
当你的应用需要时,Container 才会启动,因此第一个请求可能因环境启动而更慢。运行后,它会处理请求,直到变为空闲;经过一段空闲时间后,它可以停止并释放运行资源。当另一个请求到达时,Container 可以再次启动。
生命周期从已停止的 Container 和一个启动它的请求开始。然后 Container 处理请求、变为空闲,并再次停止,直到另一个请求到达。
更多信息请参阅 Container 生命周期和定价。
为工作负载选择资源。
容器实例规格让你可以将资源与工作负载匹配。你可以选择预定义规格,或配置自定义规格;更大的规格提供更多 CPU、内存和磁盘。选择规格时,请考虑应用所需资源,并参阅限制与实例类型了解可用选项和约束。
更多信息请参阅定价。
将实例放在用户附近或约束范围内。
Cloudflare 会在其网络中放置 Container 实例,帮助应用从合适的位置服务用户。当工作负载有位置或数据驻留要求时,你可以通过区域或司法管辖区约束放置。当应用需要更多容量时,你也可以运行多个实例。
to send a request
实例可以在不同的 Cloudflare 位置运行,请求可以被路由到可用实例。当位置对应用很重要时,放置约束可以将实例限制在某个区域或司法管辖区内。
更多信息请参阅放置。
将持久数据放在本地磁盘之外。
将 Container 的本地磁盘视为临时工作空间,因为 Container 停止或重启时,磁盘上的数据可能丢失。对于必须持久保存的数据,请使用 Durable Object 存储或 KV、R2 和 D1 等 Cloudflare 存储绑定(binding)。配置出站处理程序后,Container 可以访问这些绑定和外部服务,而无需在 Container 内使用 SDK。
Container 可以通过已配置的连接访问 Cloudflare 存储和外部服务。其本地磁盘是临时的,而持久存储中的数据会超出 Container 生命周期继续存在。
更多信息请参阅连接到 Workers 和绑定以及出站流量。
准备好构建时,可以从已部署的 Container 开始,或浏览可用指南。
- Container 生命周期:深入了解部署、路由和关闭。
- 放置:实例运行位置以及如何约束它们。
- 连接到 Workers 和绑定:从容器访问 Cloudflare 资源。
- 限制与实例类型和定价:规格、账户限制和计费。
- 滚动发布:新版本如何在实例间推出。