FEATURED · 精选文章

CubeSandbox从E2B Cloud迁移实战:改一个环境变量的迁移全过程

发布时间 / 2026/9/15 15:35:48
来源 / 创域科博编辑部
栏目 / 资讯中心
CubeSandbox从E2B Cloud迁移实战:改一个环境变量的迁移全过程 CubeSandbox从E2B Cloud迁移实战改一个环境变量的迁移全过程【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox如果你正在使用 E2B SDK 为 AI Agent 提供代码执行沙箱CubeSandbox 提供了一个几乎零成本的迁移路径改一个环境变量把请求从 E2B Cloud 指向自建的 CubeSandbox 服务客户端代码一行都不用改。CubeSandbox 是一个基于 RustVMM 和 KVM 的高性能沙箱服务兼容 E2B SDK 接口可以在 60ms 内创建一个硬件级隔离、完全可用的沙箱内存开销不到 5MB。这篇实战文章带你完整走一遍迁移过程部署服务 → 创建模板 → 改环境变量 → 验证跑通。为什么值得从 E2B Cloud 迁移到 CubeSandbox迁移前先看一眼你能得到什么。CubeSandbox 的核心卖点恰好命中 E2B Cloud 用户最在意的几个维度维度E2B CloudSaaSCubeSandbox自建沙箱隔离云端 MicroVM专属内核 MicroVM eBPF硬件级隔离冷启动视网络与云端负载平均 60ms50 并发下 P99 仍 150ms内存开销—每个沙箱 5MB单节点可跑数千实例数据合规代码出内网全部留在你自己的机房/集群计费模式按云端用量自己控制成本支持自动暂停/恢复迁移成本为什么这么低因为 CubeSandbox 的两层网关都兼容 E2B 协议CubeAPIREST API 网关兼容 E2B 控制面接口直接接收 E2B SDK 的Sandbox.create()、run_code、commands.run等调用CubeProxy反向代理兼容 E2B 数据面协议把文件读写、端口访问、WebSocket 等请求路由到具体沙箱实例。所以「迁移」的本质只是让 E2B SDK 少跑一步——把目标地址换掉。迁移前准备三步部署好 CubeSandbox1️⃣ 准备一台 x86_64 Linux 服务器CubeSandbox 需要 x86_64 Linux 环境普通云服务器即可推荐 OpenCloudOS 9 或 Ubuntu 20.04/data/cubelet至少 50GB 磁盘。完整流程见官方 快速开始文档。2️⃣ 一键安装以 root 身份执行一条命令即可装完全部组件CubeAPI、CubeMaster、Cubelet、CubeProxy、MySQL、Rediscurl -sL https://github.com/tencentcloud/CubeSandbox/raw/master/deploy/one-click/online-install.sh | CUBE_PVM_ENABLE1 bash装完后重点记住一件事E2B 兼容的 REST API 监听在 3000 端口。3️⃣ 创建一个代码模板E2B 里的「template」概念在 CubeSandbox 里同样存在。用官方预构建的代码解释器镜像创建模板cubemastercli tpl create-from-image \ --image cube-sandbox-int.tencentcloudcr.com/cube-sandbox/sandbox-code:latest \ --writable-layer-size 1G \ --expose-port 49999 \ --expose-port 49983 \ --probe 49999然后cubemastercli tpl watch --job-id job_id观察构建进度等状态变为READY记下输出的template_id——它是迁移时替换 E2B 模板名的钥匙。核心迁移步骤改一个环境变量这是全文最关键的段落。你的项目里原本大概是这样连 E2B Cloud 的export E2B_API_KEYsk-your-e2b-cloud-key迁移到 CubeSandbox只需要把E2B_API_URL指向自建服务地址其余 SDK 代码保持原样# 关键一步把 E2B SDK 指向你的 CubeSandbox而不是 E2B Cloud export E2B_API_URLhttp://你的服务器IP:3000 export E2B_API_KEYe2b_000000 # 本地部署任意非空占位符即可 export CUBE_TEMPLATE_ID上面拿到的template-id # 若使用 Cube 内置的 mkcert 证书加这一行 export SSL_CERT_FILE/root/.local/share/mkcert/rootCA.pem各变量的作用一览变量是否必须说明E2B_API_URL✅ 核心指向本地 CubeSandbox 而非 E2B 云服务迁移的本质就是它E2B_API_KEY✅SDK 必填项本地部署用任意占位字符串即可集群启用鉴权后换成真实 keyCUBE_TEMPLATE_ID✅替代 E2B 的模板名创建沙箱时指定SSL_CERT_FILE视情况使用内置 mkcert 证书时必填用于沙箱 HTTPS 连接改完环境变量后原有代码直接可用——注意是E2B 官方 SDK不是新 SDKimport os from e2b_code_interpreter import Sandbox # 仍然是 E2B SDK with Sandbox.create(templateos.environ[CUBE_TEMPLATE_ID]) as sandbox: result sandbox.run_code(print(Hello from Cube Sandbox, safely isolated!)) print(result)Sandbox.create()走控制面进 CubeAPIrun_code、commands.run、files.read/write等走数据面经 CubeProxy 直达沙箱内的 envd。整个过程对上层完全透明这就是「drop-in 兼容」的含义。更多端到端示例暂停/恢复、网络策略、文件读取等可以在 examples/code-sandbox-quickstart/ 里逐一对着试配套的 examples/e2b-dev-sidecar/ 演示了本地开发机连接远程集群的 sidecar 方案。迁移后的加分项比 E2B Cloud 多出来的能力环境变量改完只是及格线CubeSandbox 还有一些 E2B 生态里拿不到的原生能力顺手就能用上快照 / 克隆 / 回滚百毫秒粒度的事件级快照可从某个状态并行 fork 出多个沙箱做 RL rollout 或方案对比时非常划算自动暂停/恢复lifecycle{on_timeout: pause, auto_resume: True}空闲沙箱自动休眠、下个请求自动唤醒进一步压成本网络策略L3/L4 黑白名单 L7 域名/路径级策略还支持凭据注入——密钥永远不进沙箱官方 Python SDK如果你愿意换 SDKsdk/python/ 的cubesandbox包提供pause()/resume、节点定向调度等更细的控制。常见问题排查迁移踩坑速查表症状可能原因解决办法Connection refused服务没起或地址错检查E2B_API_URL与 3000 端口是否可达Template not found模板 ID 填错cubemastercli tpl list重新确认SSL: CERTIFICATE_VERIFY_FAILED缺少 CA 证书设置SSL_CERT_FILE/root/.local/share/mkcert/rootCA.pem集群部署时沙箱域名解析失败缺少*.cube.app解析配置 Private DNS 通配记录或参考 dev-sidecar 方案生产环境 401启用了鉴权但 key 没换按 鉴权文档 换成真实 API key小结一次迁移三层收益回顾整个迁移过程真正要动的东西只有三样部署服务、建一个模板、改一个E2B_API_URL。代码零改动——E2B 兼容层在 CubeAPI/CubeProxy 两层完成客户端 SDK 原样保留性能反超——自建后冷启动 60ms还省去了公网往返云端的延迟数据与成本自控——沙箱跑在自己的集群里配合自动暂停/恢复和 5MB 的内存开销密度和成本都握在自己手里。如果团队里已经有人在用 E2B SDK今天就可以在一台 4C8G 的云服务器上把这条迁移路径完整跑通——最快几分钟的事。【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻