不支持通过 E2B Template 内联传入 steps 或 Dockerfile,如何构建依赖?
当前 Template Build API 不支持在 E2B Template 定义中内联传入 steps(安装步骤)或 Dockerfile。传入 steps 会返回 400 steps are not supported,因此不要试图用构建步骤在线安装依赖。
这里不支持的只是「通过 E2B Template 定义内联传入 steps 或 Dockerfile」这种用法;Dockerfile 本身仍然可用:你可以照常在外部用 Dockerfile 构建出成品镜像,再通过 from_image 从镜像仓库构建模板。
因此,依赖应在 Dockerfile 或外部镜像构建阶段装好,再把成品镜像推送到镜像仓库,模板只负责从该镜像构建。这样可以避免在模板构建或每次创建 Sandbox 后重复下载和安装依赖。
精简的 Dockerfile 示例:
FROM python:3.12-slim
# 安装 Python 依赖
RUN pip install --no-cache-dir pandas numpy
# 安装系统依赖并清理 apt 索引
RUN apt-get update \
&& apt-get install -y --no-install-recommends git \
&& rm -rf /var/lib/apt/lists/*排查失败时先看错误摘要;如果摘要不足以定位,再查看完整构建日志中的失败阶段、RequestId、镜像地址和构建配置。
模板构建与自定义镜像的完整流程,参见构建自定义镜像模板。
私有镜像拉取或构建失败,怎么排查?
先在完整构建日志中确认失败阶段,再按下表处理常见的源镜像拉取和镜像格式问题。
| 失败阶段 | 典型错误 | 处理动作 |
| 拉取源镜像 | unauthorized、denied、manifest unknown 或 not found | 核对镜像地址、tag 或 digest 是否真实存在。使用 ACR EE 时,确认实例与云沙箱属于同一 UID、同一地域,已绑定构建链路可访问的 VPC,并检查用户名、密码或 token。 |
| 转换/构建 | invalid image, platform of image is unknown/unknown,或 manifest、provenance 相关错误 | 检查镜像 manifest。使用 linux/amd64 单一平台构建,关闭 provenance 和 SBOM,推送新 tag 后重试;不要复用内容可能已变化的旧 tag。 |
自定义镜像模板的完整构建流程参见构建自定义镜像模板;从私有仓库拉取镜像的端到端示例参见使用 GHCR 自定义镜像构建 Sandbox 模板。
该文章对您有帮助吗?