快速开始
三种入口,按你手上有什么来选。
一、用已发布的镜像(最快)
bash
curl -O https://raw.githubusercontent.com/sandrpod/sandrpod/main/docker/docker-compose.yml
docker compose up -d| 容器 | 是什么 |
|---|---|
server | 控制面,监听 localhost:8080 |
poder | Docker worker,通过反向隧道拨回控制面 |
toolbox | 由 worker 在创建沙箱时拉取,一个沙箱一个 |
worker 需要 Docker socket,控制面不需要别的。
验证:
bash
curl -s localhost:8080/health
# {"mode":"control-plane+tunnel","status":"ok","version":"0.7.0", ...}二、建一个沙箱,然后跑代码
bash
pip install sandrpod-cli
export SANDRPOD_API_URL=http://localhost:8080
export SANDRPOD_API_TOKEN=change-me # 启动服务端时 -token 给的那个值
sandrpod-cli create demo --provider local
sandrpod-cli execute demo "echo 来自你自己机器上的沙箱"
sandrpod-cli delete democreate 默认等到 RUNNING 才返回。--no-wait 立即返回 job id,适合放进脚本里做 长流程。
三、同一件事,用 HTTP
bash
curl -s -X POST localhost:8080/api/v1/sandboxes \
-H "X-Sandrpod-Token: change-me" \
-H 'Content-Type: application/json' \
-d '{"name":"demo","provider_type":"local"}'
curl -s -X POST "localhost:8080/api/v1/sandboxes/execute?sandbox=demo" \
-H "X-Sandrpod-Token: change-me" \
-H 'Content-Type: application/json' \
-d '{"language":"bash","code":"uname -a"}'token 从哪来
- 控制面的
-token,或环境变量SANDRPOD_TOKEN。 - 它是运维凭据:能看到所有沙箱、所有 worker。
- 如果部署要给客户发独立凭据,那是另外签发的(CLI 和原生 API 用
sk_,E2B 面用e2b_)。见 API 鉴权。