
字节笔记本
2026年10月2日 · 约 7 分钟读完
Cloudflare Containers:点链接拉起临时浏览器,不用养服务器
"用户在 App 里点一个链接,后端自动拉起一台临时 Linux 云电脑,打开目标网页,用完销毁。"这个产品想法听起来要自己养服务器、写远程桌面、搞 WebRTC 串流,但现在有了一条更省事的路:Cloudflare Containers。
架构有多干净
整个链路可以做到几乎全 Cloudflare,连服务器都不用买:
你的 App 发一个 POST /computer 请求,Cloudflare Worker 接到后,通过 Durable Object 给每个用户分配一个唯一 ID,再由 DO 启动对应的 Container。Container 里面装 Ubuntu + Chromium + KasmVNC,浏览器画面通过 WebSocket 经 Worker 转发到 App 的 WebView,用户就能在手机上操作这台远程浏览器了。
// Worker 里核心代码就这么几行
const container = getContainer(env.COMPUTER, user.id)
await container.startAndWaitForPorts()
return container.fetch(request)用完之后 WebSocket 断开,Container 休眠或销毁,费用停止。
为什么比自建好
**
零基础设施运维**。机器、调度、容器启动、地域分配、网络、扩容、销毁、计费,Cloudflare 全包。你只负责"这个用户是谁、给他哪个 Container、什么时候开、什么时候关、打开什么 URL"。
按需启动 + 闲置休眠。Container 可以设置 sleepAfter = "10s",没人用就立刻停,不再承担运行费用。这对"1 万注册用户、同时在线 100 人"的 SaaS 模型特别友好,不用准备 1 万台机器。
天然的用户隔离。每个用户的 Durable Object ID 对应一个独立 Container,Cookie、localStorage、登录状态全在各自的 Chrome Profile 里,完全隔离。
技术限制
没有 GPU。目前最高 4 vCPU / 12 GiB / 20 GB,跑 XFCE + Chromium + Playwright + Agent 没问题,但 Blender GPU、CUDA、视频编码就不是主场了。
不能当普通 VPS 用。终端用户不能直接建 TCP/UDP 连接到 Container,所有请求必须经 Worker 转发。不过 KasmVNC 主要走 HTTPS + WebSocket,官方支持,所以网页云桌面不受影响。
权限有限。不能 privileged container、不能操作 iptables、Docker in Docker 只能 rootless。systemd、KVM、内核模块这类会麻烦甚至做不了,但 XFCE、Chrome、Node、Python、Agent 这些用户空间程序问题不大。
费用估算

以"每天 3000 次点击、每次 1 分钟"为例:
| 场景 | 月成本预估 |
|---|---|
| 优化好,60 秒左右 | $70~90 |
| 考虑冷启动约 70 秒 | $80~110 |
| 网页较重、CPU 较高 | $100~130 |
| 加较高远程桌面流量 | $100~150 |
均摊到一次打开约 $0.0008~0.001,不到一美分。平均并发其实才约 2 台浏览器同时运行。
需要特别优化的一点:用户关闭网页后立即 stop(),不要等默认的 10 分钟 sleepAfter,否则费用会翻倍。另外远程桌面流量值得关注:1 Mbps 串流约 675 GB/月,北美/欧洲包含 1 TB 基本够用,2 Mbps 会超出约 $8.75/月。
简化版:不一定需要完整桌面

如果需求只是"打开链接后让用户在容器里操作特定网站",甚至可以跳过 XFCE,只装 Chromium + Xvfb + 轻量窗口管理器 + KasmVNC/Selkies。Chromium 用 --kiosk 模式全屏启动,用户看不到 Linux 桌面,只看到目标网站,反而更接近产品形态。
还可以通过 outbound policy 把 Container 的访问限制到特定域名(如只允许 github.com),默认关闭公网,安全性大幅提升。
加上 Agent 就是完整的 Cloud Agent 基础设施
同一个 Chromium 可以同时服务用户和 Agent:用户通过远程画面操作鼠标键盘,Agent 通过 Playwright 的 click()、fill()、goto() 操作同一个浏览器,"AI 先帮我操作,我随时接管"。
配上 D1(用户元数据)、R2(文件/快照)、Durable Objects(生命周期)、Browser Run(无头浏览器任务)、Workers(API 网关),整个产品的后端可以完全跑在 Cloudflare 上。截至现在 Cloudflare 给 Containers 的账户级上限已提高到 15,000 个 lite Container 并发,已经不是小实验功能了。
建议的落地路径
第一阶段 MVP 用 Kasm Workspaces 最快跑通产品验证;确认需求后迁移到 Cloudflare Containers + Chromium Kiosk + KasmVNC/Selkies + Worker Session Manager;等 agent 开始执行不可信代码时,再把 Docker 替换成 Kata Containers(接口不变,每个负载实际跑在轻量 VM 里)。Firecracker 虽然是 AWS Lambda 背后的技术,但偏基础设施层,第一版不建议直接上。
按 Cloudflare Containers 的现状,"用户点一个链接就自动拉起一台临时电脑"这个产品想法,基础设施门槛已经降到了一个 $5/月 Workers Paid 加上约 $100/月的容器费用。



