Skip to main content
Template 是创建 Sandbox 所依据的蓝图——它定义了基础镜像、安装的软件包、文件、环境变量,以及启动时运行的命令。每个 Sandbox 都由某个 Template 生成,因此构建 Template 就是产出可复用、开箱即用环境的方式。 Template 在概念上与容器镜像非常接近: 它可以始于一个 Docker 镜像、Dockerfile 或已有 Template。构建 Template 的体验类似于编写 Dockerfile。 你通常可以使用 SDK 构建器(fromImagerunCmdcopysetEnvs 等)以代码形式描述步骤,也可以直接复用已有的 Dockerfile,或在其他 Template 之上派生。产出是一个 templateId,PPIO 用它来快速启动 Sandbox。

构建

Template 定义就绪后,使用 ppio.template.build(...) 进行构建。根据 Template 定义的来源,构建方式分为三种:从现有的 Docker Image 构建、从 Dockerfile 构建,以及基于已有的其他 Template 构建。

从 Docker Image 构建

使用 fromImage / from_image 以一个现有的 Docker 镜像作为基础构建 Template,构建完成后即可用返回的 template ID 创建 Sandbox。

从 Dockerfile 构建

使用 fromDockerfile / from_dockerfile 直接从 Dockerfile 构建 Template,适合已有 Dockerfile 的项目;也可以通过 CLI 完成同样的构建。

基于其他 Template 构建

使用 fromTemplate / from_template 以一个已构建的 Template(ID 或别名)作为基础,在其之上叠加额外的构建步骤(如运行命令、设置启动/就绪命令),适合从通用基础 Template 派生出多个变体。

名称

每次构建都需要一个 Template 名称。同一逻辑 Template 系列应保持名称稳定。返回的 Template ID 是不可变的构建产物,供运行时使用。

基础镜像

Template 定义总是以选择一个基础镜像(或已有 Template)开始,使用某个 from* 方法。

用户与工作目录

选定基础镜像后,你可以控制后续构建步骤以哪个用户身份运行,以及在哪个目录中执行。

标签与版本管理

标签(tag)让你为构建打上标记以便发布管理,而无需更改底层的 Template 名称。

日志

构建日志可帮助你查看配置进度并诊断失败原因。

错误处理

Template 构建可能因以下几种常见原因失败:
  • 私有镜像仓库的凭据无效
  • runCmd(...) / run_cmd(...) 中的软件包安装失败
  • 启动命令意外退出
  • 就绪命令始终未成功
  • CPU 和内存设置不满足平台限制
最后修改于 2026年9月1日