了解容器 Beta 版和即将推出的功能。
使用无服务器容器增强您的 Workers
Available on Workers Paid plan
运行用任何编程语言编写、为任何运行时构建的代码,作为基于 Workers 构建的应用程序的一部分。
将您的容器镜像部署到 Region:Earth,无需担心管理基础设施 - 只需定义您的 Worker 并执行 wrangler deploy
。
使用容器,您可以运行:
- 需要并行运行 CPU 核心、大量内存或磁盘空间的资源密集型应用程序
- 需要完整文件系统、特定运行时或类 Linux 环境的应用程序和库
- 已作为容器镜像分发的现有应用程序和工具
容器实例按需启动,由您在 Worker 中编写的代码控制。无需链接 API 调用或编写 Kubernetes 操作器,您只需编写 JavaScript:
import { Container, getContainer } from "@cloudflare/containers";
export class MyContainer extends Container { defaultPort = 4000; // 容器监听的端口 sleepAfter = "10m"; // 如果 10 分钟内没有发送请求,则停止实例}
async fetch(request, env) {const { "session-id": sessionId } = await request.json();// 获取给定会话 ID 的容器实例const containerInstance = getContainer(env.MY_CONTAINER, sessionId)// 将请求传递给容器实例的默认端口return containerInstance.fetch(request);}
{ "name": "container-starter", "main": "src/index.js", "containers": [ { "class_name": "MyContainer", "image": "./Dockerfile", "instances": 5, "name": "hello-containers-go" } ], "durable_objects": { "bindings": [ { "class_name": "MyContainer", "name": "MY_CONTAINER" } ] } "migrations": [ { "new_sqlite_classes": [ "MyContainer" ], "tag": "v1" } ],}
name = "container-starter"main = "src/index.js"
[[containers]]class_name = "MyContainer"image = "./Dockerfile"instances = 5name = "hello-containers-go"
[[durable_objects.bindings]]class_name = "MyContainer"name = "MY_CONTAINER"
[[migrations]]new_sqlite_classes = [ "MyContainer" ]tag = "v1"
开始使用
容器仪表板
部署您的第一个容器
构建并推送镜像,从 Worker 调用容器,并了解扩展和路由。
容器示例
查看如何将容器与 Worker 一起使用的示例,包括无状态和有状态路由、 区域放置、Workflow 和 Queue 集成、AI 生成的代码执行以及短期工作负载。
了解更多关于使用 Wrangler 开发、构建和推送镜像以及部署容器的命令。
了解容器的限制以及如何在这些限制内工作。
在 Discord 上与其他容器用户联系。提出问题,展示您正在构建的内容, 并与其他开发者讨论平台。
- @2025 Cloudflare Ubitools
- Cf Repo