fromImage、runCmd、copy、setEnvs 等)以代码形式描述步骤,也可以直接复用已有的 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 和内存设置不满足平台限制