更新时间:2026-10-29 GMT+08:00
分享

创建沙箱模板

您可以创建新的沙箱模板,调整沙箱镜像或参数配置,创建沙箱模板时会一次完成模板创建和首次模板快照的构建。本文介绍如何创建沙箱模板。

前提条件

在使用AgentSphere前,您需要先配置访问OBS和SWR服务的VPC终端节点,详情请参见配置访问OBS/SWR服务的终端节点。

创建沙箱模板

  1. 登录AgentSphere控制台。
  2. 在左侧导航栏中选择“沙箱模板”,并单击右上角的“创建沙箱模板”。
  3. 填写基础配置。

    参数

    参数说明

    沙箱模板名称

    自定义沙箱模板名称。

    沙箱模板名称需以小写字母开头,以小写字母或数字结尾,可以包含小写字母、数字和中划线,长度为1-48个字符。

    描述

    您可以添加该沙箱模板的描述信息,最多1000字符。

    CPU架构

    当前支持“x86计算”架构的资源。

    资源配额

    选择沙箱实例使用的CPU和内存,支持不同的CPU/内存配比。

    您可以根据沙箱程序运行需求进行选择,资源配额过小可能导致沙箱运行失败,过大则会导致资源浪费。

    选择镜像

    单击“选择镜像”,选择沙箱使用的镜像,镜像数据来源于容器镜像服务(SWR)。

    注意:
    • 仅支持使用SWR共享版的私有镜像,第三方镜像需要先上传至SWR共享版。
    • 当前仅支持最大20GiB的镜像构建(由于SWR中的镜像大小经过压缩,请以docker查询镜像大小为准)。
    • 构建镜像时使用的基础镜像需要支持/bin/bash命令。如果基础镜像不包含bash(例如基于Alpine等精简镜像),则需要在Dockerfile中添加安装命令将bash安装至固定路径/bin/bash。否则,在构建模板快照时如果设置了启动命令(startCmd)或就绪检查命令(readyCmd),这些命令将执行失败,e2b SDK的commands.run也会执行失败。

    启动命令

    沙箱实例启动时执行的命令,适用于需要指定应用入口、挂载点或端口映射等初始化场景。

    命令长度为1-4096个字符。

    就绪检查命令

    用于检测沙箱实例是否就绪,命令长度为1-4096个字符。

    环境变量

    支持通过键值对的形式为沙箱运行环境设置变量,可用于把外部信息传递给沙箱中运行的程序。

    您可以添加50个环境变量。

  4. 填写网络配置。

    参数

    参数说明

    入站(Inbound)网关

    入站网关用于接收外部请求,配置后可通过网关访问沙箱内的服务。

    如果没有可选网关,请单击“新建入站网关实例”进行创建,完成创建后单击刷新按钮。

    出站(Outbound)网络配置

    VPC模式

    沙箱实例可以访问虚拟私有云VPC内的其他服务。

    • 虚拟私有云:选择一个虚拟私有云VPC。

      若没有可选虚拟私有云,请单击“新建虚拟私有云”进行创建,完成创建后单击刷新按钮。操作步骤详情请参见创建虚拟私有云和子网。

    • 子网:在选定的VPC下选择一个子网。
    • 安全组:为沙箱实例选择安全组,支持同时选择多个安全组(此时安全组规则取并集)。

      您可以单击“展开安全组规则”查看具体的“入方向规则”和“出方向规则”。

    公网模式

    沙箱实例可通过公网对外访问,适用于需要联网调用第三方API、下载依赖等场景。

  5. 填写存储配置。

    仅当沙箱模板中的出站(Outbound)网络配置为“VPC模式”时,支持“SFS Turbo文件存储”和“OBS对象存储”配置;“托管会话存储”则无此限制。

    参数

    参数说明

    SFS Turbo文件存储

    选择是否挂载SFS Turbo文件存储,勾选后,您可以选择将指定的文件系统目录挂载至沙箱目录。SFS Turbo安全组需要放通沙箱模板选择的VPC网段。

    如果没有可选文件系统,您可单击“创建文件系统”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建SFS Turbo文件系统。

    您最多可以同时挂载5个存储路径(支持选择不同文件系统)。

    • 存储路径:填写文件系统的存储路径,存储路径必须以/开头,且不能包含“..”。
      注意:

      请保证文件系统存储路径已存在,不存在时将挂载失败。

    • 读写权限:为此挂载路径设置“读写”或“只读”权限。
      注意:

      如果要对挂载路径进行读写操作,不仅要保证沙箱开启挂载路径的读写权限,还需要保证SFS Turbo文件系统目录允许Linux用户进行读写,具体说明请参见访问文件无权限。

    • 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。

    OBS对象存储

    选择是否挂载OBS对象存储,勾选后,您可以选择将指定的OBS对象存储桶目录挂载至沙箱目录。

    如果没有可选对象桶,您可单击“创建OBS桶”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建桶。

    注意:
    • 使用OBS对象存储时,沙箱镜像中需要存在/etc/passwd文件。
    • 部分多AZ存储的对象桶可能挂载失败,如果需要挂载多AZ存储的对象桶,请提交工单给OBS服务并提供对象桶名称进行确认。

    您最多可以同时挂载5个桶目录(支持选择不同对象桶)。

    • 桶目录:填写对象桶目录。
      注意:

      请保证桶目录已存在,不存在时将挂载失败。

    • 读写权限:支持设置“读写”或“只读”权限。
    • 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。

    托管会话存储

    选择是否将Session会话进行持久化存储,通过由AgentSphere托管的存储保留Agent会话状态,开启后需填写沙箱中Session会话存储的挂载路径。

    注意:

    使用托管会话存储时,沙箱镜像中需要存在/etc/passwd文件。

  6. 填写日志配置。

    参数

    参数说明

    日志对接LTS

    将沙箱的标准输出和标准错误日志采集到LTS日志服务中。您可以使用LTS对云服务日志进行关键词搜索、日志可视化分析、日志告警、日志转储等多种操作。

    • 日志组:云日志服务进行日志管理的基本单位,用于对日志流进行分类,一个日志组下面可以创建多个日志流。

      如果没有可选日志组,您可单击“创建日志组”进行创建,完成创建后单击刷新按钮。相关配置说明请参见管理日志组。

    • 日志流:日志读写的基本单位,日志组中可以创建日志流,将不同类型的日志分类存储,方便对日志进一步分类管理。

      如果没有可选日志流,您可单击“创建日志流”进行创建,完成创建后单击刷新按钮。相关配置说明请参见管理日志流。

  7. 填写高级配置。

    参数

    参数说明

    运行时信任委托

    用于授予沙箱访问其他云服务的权限。创建信任委托时,信任主体类型需要选择云服务,并选择安全沙箱元数据服务。当沙箱模板中配置了OBS对象存储时,委托必须具备OBS权限。最小权限如下:

    • obs:bucket:listAllMyBuckets
    • obs:bucket:listBucket
    • obs:bucket:headBucket
    • obs:object:*

    如果使用OBS加密桶,还需要补充KMS权限,详见SSE-KMS加密(KMS托管密钥)SSE-KMS加密(KMS托管密钥)。

    关于创建信任委托的具体操作请参见委托其他云服务管理资源。

    健康检查

    探测沙箱内业务进程存活状态,以判断实例是否可用。支持选择不同的检查方式:

    • HTTP请求检查:默认检查路径为ENVD的/health路径,检查端口为49983端口,协议为HTTP。
    • 执行命令检查:您可以通过执行指定命令是否成功来检查业务状态。支持增加20行命令,每行命令长度为1-4096个字符。
    说明:

    当镜像内有多个进程时,建议配置健康检查指向启动慢的进程。

    构建执行步骤

    构建模板快照前执行的步骤列表,支持添加3个步骤。

    • 类型:构建步骤的命令类型,对应E2B Start build接口中的请求参数steps[].type。当前支持执行用户(USER)类型的命令。
    • 命令参数: 构建步骤的命令参数,对应E2B Start build接口中的请求参数steps[].args。支持多行,并以数组的形式下发,每行作为一个数组元素。

  8. 完成上述配置后,单击“立即创建”。

相关文档

相关文档