---
title: E2B管理平台部署
description: "OpenClaw部署方式可以按需选择，本章节提供E2B的部署方案。E2B作为开源Agentic沙箱管理方案，底层兼容开源Firecracker MicroVM，能够构建安全隔离的运行环境。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaiagent/bestpractice/aiagent-0078.html
sourcePath: /source/zh/kunpengaiagent/bestpractice/aiagent-0078.html
indexId: bb144c564503eb637a08afe35acb0af50bc30c949f7b2e280de299686d8997c256
---
# E2B管理平台部署

OpenClaw部署方式可以按需选择，本章节提供E2B的部署方案。E2B作为开源Agentic沙箱管理方案，底层兼容开源Firecracker MicroVM，能够构建安全隔离的运行环境。

#### E2B服务部署

可参考以下步骤，通过提供的脚本完成自动化部署；若需定制化调整，可基于脚本内容进行修改。

1. 安装e2b-infra软件包。

  a. 获取软件包。软件链接如下，下载arm64版本。

```
https://eulermaker.openeuler.openatom.cn/package/download?osProject=2403sp3&packageName=e2b-infra
```


  b. 卸载旧的软件包。

```
rpm -e e2b-infra
```


  c. 安装e2b-infra软件包，安装目录为“/opt/e2b-infra”。

```
rpm -ivh e2b-infra-2026.09-3.oe2403sp3.aarch64.rpm
```


2. 修改“/opt/e2b-infra/dep/.env”配置文件。

  a. 定义配置文件需要修改的变量。

```
# 定义变量（替换为你的真实本机IP，比如 192.168.1.100）
ENV_FILE="/opt/e2b-infra/dep/.env"
SERVER_IP="本机IP地址"
```


  b. 通过以下命令，修改如下配置。

```
cp $ENV_FILE ${ENV_FILE}.bak                          #备份原有的.env模板
sed -i "1i SERVER_IP=$SERVER_IP" $ENV_FILE             #替换第一行的IP地址为本机地址
sed -i '/^export DEPLOY_MODE=/c\export DEPLOY_MODE={nomad/k8s}' $ENV_FILE     #当前支持nomad和k8s两种部署
```


    .env文件中其余关键配置默认如下，可按需修改。

```
sed -i '/^export NUM_SERVERS=/c\export NUM_SERVERS={节点个数}' $ENV_FILE      # 当前集群server节点的个数
sed -i '/^export REGISTRY_URL=/c\export REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration' $ENV_FILE    # harbor仓库地址，默认值为 REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration，即harbor默认端口为2900
sed -i '/^export POSTGRES_CONNECTION_STRING=/c\export POSTGRES_CONNECTION_STRING="postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable"' $ENV_FILE     # postgres数据库地址，默认值为postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable
sed -i '/^export HARBOR_HOST=/c\export HARBOR_HOST=$SERVER_IP:2900' $ENV_FILE   # harbor仓库地址，默认$SERVER_IP:2900，端口2900
```


3. 安装启动。

  a. 进入“/opt/e2b-infra”目录。

```
cd /opt/e2b-infra
```


  b. 下载依赖组件。如遇网络问题可手动下载相关依赖并上传至“/opt/e2b-infra/dep”目录。

```
bash build.sh --download
```


    arm64所需依赖包如下所示（详见build.sh脚本download_packages函数）：

  c. 安装。安装过程需要拉取Docker镜像，如遇网络问题可使用Docker代理进行手动拉取。在执行start启动服务之前需将Docker代理关掉。

```
bash build.sh --install
```


    Docker镜像需要如下所示（详见build.sh脚本pull_docker_images函数）：

  d. 启动服务。

```
bash build.sh --start
```


    如启动失败，则先执行--stop并且--uninstall，再尝试重新--start启动服务。 bash build.sh --stop bash build.sh --uninstall


**表1 build.sh默认配置参数说明**

| 变量名 | 值 | 含义 |
| --- | --- | --- |
| PG\_PORT | 5432 | postgres容器服务端口。 |
| MINIO\_PORT | 9000 | minio服务端口（单机部署无需minio）。 |
| MINIO\_CONSOLE\_PORT | 9001 | minio控制台端口（单机部署无需minio）。 |
| HARBOR\_HTTP\_PORT | 2900 | harbor服务端口，后续可通过server\_ip:2900访问harbor管理系统。 |
| HARBOR\_USER | admin | harbor管理系统账户。 |
| HARBOR\_PASSWORD | Harbor12345 | harbor管理系统账户admin的默认密码。 |
| NOMAD\_PORT | 4646 | nomad服务端口，后续可通过server\_ip:4646访问nomad管理系统。 |
| NOMAD\_HTTP\_PORT | 4646 | nomad健康检查端口。 |
| CONSUL\_HTTP\_PORT | 8500 | consul健康检查端口。 |


#### E2B服务验证

- E2B将配置保存在postgres里，沙箱启动后可通过sql命令修改沙箱配置。
- 配置服务器开放4646和2900端口，分别用于访问nomad和harbor服务。


1. 修改沙箱超时时间。请将mydatabase修改为.env中配置的数据库名称。

```
docker exec postgres psql -U postgres -d
mydatabase
-c "UPDATE tiers SET max_length_hours = 24 WHERE id = 'base_v1';"
```


2. 修改沙箱最大并发量，请将mydatabase修改为.env中配置的数据库名称。

```
docker exec postgres psql -U postgres -d
mydatabase
-c "UPDATE tiers SET concurrent_instances = 50 WHERE id = 'base_v1';"
```


3. 可通过访问http://{server_ip}:4646查看各个服务状态。
  请在“/opt/e2b-infra/.env”文件中查看NOMAD_ACL_TOKEN字段，该值即为登录Token。

  Healthy表示服务正常启动。

  服务启动失败，可通过网页端查看template-manager日志。


#### 资源配置

Nomad中的template-manager-system任务在Job Definition中对CPU、内存等资源设定了默认上限，可根据主机实际资源情况进行调整。

1. 进入Jobs页面中找到template-manager-system。
2. 进入后在“Definition”页签即可修改相关配置，修改完成后单击“Plan”按钮保存。
  template-manager-system的内存建议分配规则为：单个沙箱内存 × 最大沙箱数 + 20GB，配置单位为MB；CPU建议设置为当前系统60%，单位为millicpu。
