- 文档首页
云服务器
云服务器ECS
用户指南
镜像
自定义镜像
创建自定义镜像
使用Tailor创建自定义镜像
使用Tailor创建自定义镜像
Tailor是平台提供的自定义镜像构建工具,支持在Linux、Mac操作系统中运行。您可以通过本工具在指定的镜像基础上创建自定义镜像。
本文介绍如何通过自定义镜像构建工具Tailor,创建自定义镜像。
前提条件
- 请参考账户说明确认您的火山引擎账号余额(即现金余额)和代金券的总值大于等于100元人民币。若余额不足,您可参考充值操作指引进行充值。
注意事项
- 暂不支持通过本工具创建Windows自定义镜像。
- 仅针对您的系统盘创建自定义镜像。创建自定义镜像所需的时间,取决于系统盘的实际大小。
- 平台将创建按量计费的临时云服务器实例、公网IP等资源用于创建自定义镜像,并在创建镜像后自动删除。创建过程中相关云资源将收取费用,计费方式说明可查看按量计费。
操作步骤
步骤一:安装Tailor
- 执行如下命令,在/usr/local/bin/目录中安装Tailor。
/usr/local/bin/是环境变量目录,将Tailor安装在该目录可以方便在实例不同目录使用。
- 您可以执行如下命令查看Tailor使用说明,验证是否安装成功。
-
步骤二:创建定制镜像脚本(可选)
您可以将镜像需要定制的内容(例如:安装软件、驱动、修复CVE漏洞等)制作为Shell脚本,并通过Tailor在创建自定义镜像时执行。
注意
- 定制镜像脚本内支持重启实例操作,且每一个script参数内,均可以重启实例。Tailor将在实例重启后继续执行脚本任务。
- Tailor支持如下格式的脚本路径,您可以按需创建:
- 网络脚本,例如:http://install/a.sh。
- 压缩格式脚本,目前支持.tar、.gzip、.zip格式。例如:centos_shell.zip。
- 对于压缩格式脚本集合或本地目录脚本集合,需要遵守如下规则:
- 需要指定buildx.sh(例如:build1.sh、build3.sh)作为定制脚本的执行入口。Tailor将根据buildx.sh文件x值由小到大自动执行,且每次执行完成buildx.sh,Tailor都会执行重启实例操作。
- 脚本集合内buildx.sh不支持二级目录(例如:temp/temp_1/build3.sh),其他脚本和文件位置无限制。
标准的脚本集合示例
其中buildx.sh脚本内容示例如下:
步骤三:创建参数配置文件(可选)
使用Tailor创建自定义镜像时,支持通过参数指定创建出的自定义镜像名称、镜像大小、创建过程使用的临时实例规格、等信息,您可以通过yaml文件配置参数。
说明
- 若您不创建参数配置文件,可以在执行命令时直接传入参数及参数值。
- 临时实例由平台自动创建,并在完成自定义镜像创建后删除。
-
- 按esc键退出编辑,输入:wq按回车键,保存并退出文件。
步骤四:创建自定义镜像
- Tailor执行创建自定义镜像任务时,将在您执行命令时所处的目录下记录任务信息及缓存文件,详情可查看创建结果。
说明
请将/etc/Tailors/替换为您的目录路径。
- 执行如下命令,导入访问密钥(Access Key)中包含的Access Key ID(简称AK)和 Secret Access Key(简称SK)。获取详情可查看使用指南。
说明
创建自定义镜像时,Tailor默认将在控制台输出包含FATAL、ERROR的日志信息。日志说明及调整展示的日志信息操作,可查看日志说明。 说明
- script参数支持复用,用以传入多个脚本信息。
- 执行成功后,Tailor将输出生成的自定义镜像ID、名称,且自定义镜像将自动添加至临时实例所在地域。
-
步骤五:查看创建结果
查看自定义镜像
- 若目标镜像“状态”列为可用,则创建自定义镜像成功。
-
- 您还可以单击镜像名称进入镜像详情页,选择“关联快照”页签,查看镜像包含的云盘关联的快照ID、云盘类型及对应容量信息。更多快照详情可查看快照概述。
-
查看任务
Tailor将在您执行Tailor build命令时所处的目录下,创建workspace目录,存放创建自定义镜像任务的中间产物,便于您排查创建过程出现的问题。
不同创建自定义镜像任务,将在该目录下以“镜像名称-时间戳”形式创建任务目录,在其中记录对应任务的缓存文件、http文件等信息。
说明
正常执行的创建任务,一般不会在其任务目录下留存信息。
workspace结构示例
日志说明
Tailor会在创建自定义镜像时,将该任务日志信息输出在控制台中。您可以根据需求在执行创建镜像命令时指定日志等级,以此调整展示日志详略程度。
日志级别
日志级别及对应内容如下:
配置说明
您可以在执行Tailor build命令创建自定义镜像时时,传入TAILOR_LOG_LEVEL参数并指定目标任务的日志级别。示例如下:
最近更新时间:2025.08.15 18:17:54