使用无服务器容器增强您的 Workers
Available on Workers Paid plan
运行以任何编程语言编写、为任何运行时构建的代码,作为基于 Workers 构建的应用程序的一部分。
将您的容器镜像部署到 Region:Earth,而无需担心管理基础设施——只需定义您的 Worker 并执行 wrangler deploy。
使用容器,您可以运行:
- 需要并行运行 CPU 核心、大量内存或磁盘空间的资源密集型应用程序
- 需要完整文件系统、特定运行时或类 Linux 环境的应用程序和库
- 已作为容器镜像分发的现有应用程序和工具
容器实例按需启动,并由您在 Worker 中编写的代码控制。无需串联 API 调用或编写 Kubernetes operators,您只需编写 JavaScript:
import { Container, getContainer } from "@cloudflare/containers";
export class MyContainer extends Container {
defaultPort = 4000; // 容器侦听的端口
sleepAfter = "10m"; // 如果10分钟内没有发送请求,则停止实例
}
export default {
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",
// Set this to today's date
"compatibility_date": "2026-08-17",
"containers": [
{
"class_name": "MyContainer",
"image": "./Dockerfile",
"max_instances": 5
}
],
"durable_objects": {
"bindings": [
{
"class_name": "MyContainer",
"name": "MY_CONTAINER"
}
]
},
"migrations": [
{
"new_sqlite_classes": ["MyContainer"],
"tag": "v1"
}
]
}name = "container-starter"
main = "src/index.js"
# Set this to today's date
compatibility_date = "2026-08-17"
[[containers]]
class_name = "MyContainer"
image = "./Dockerfile"
max_instances = 5
[[durable_objects.bindings]]
class_name = "MyContainer"
name = "MY_CONTAINER"
[[migrations]]
new_sqlite_classes = [ "MyContainer" ]
tag = "v1"开始使用
容器仪表板
部署您的第一个容器
构建并推送镜像,从 Worker 调用容器,并了解扩展和路由。
容器示例
查看如何将容器与 Worker 结合使用的示例,包括无状态和有状态路由、区域放置、Workflow 和 Queue 集成、AI 生成的代码执行以及短期工作负载。
Wrangler
了解有关使用 Wrangler 开发、构建和推送镜像以及部署容器的命令的更多信息。
限制
了解容器的限制以及如何在这些限制内工作。
Durable Object Container API
低级运行时 API,用于直接从 Durable Object 启动、停止容器进程以及与其通信。
SSH
通过 Wrangler 使用 SSH 连接到正在运行的容器实例。
容器 Discord
在 Discord 上与容器的其他用户建立联系。提出问题、展示您正在构建的内容,并与其他开发人员讨论该平台。