👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
前提条件
您已购买云服务器并开通快照服务。
请参考账户说明确认您的火山引擎账号余额(即现金余额)和代金券的总值大于等于100元人民币。若余额不足,您可参考充值操作指引进行充值。
注意事项
暂不支持通过本工具创建Windows自定义镜像。
仅针对您的系统盘创建自定义镜像。创建自定义镜像所需的时间,取决于系统盘的实际大小。
火山引擎将创建按量计费的临时云服务器实例、公网IP等资源用于创建自定义镜像,并在创建镜像后自动删除。创建过程中相关云资源将收取费用,计费方式说明可查看按量计费。
操作步骤
步骤一:安装Tailor
登录您运行Tailor工具的实例,操作详情可查看登录Linux实例。
执行如下命令,在/usr/local/bin/目录中安装Tailor。
/usr/local/bin/是环境变量目录,将Tailor安装在该目录可以方便在实例不同目录使用。
Linux 版:
wget https://tailor.tos-cn-beijing.volces.com/Tailor.tar.gz && tar zxf Tailor.tar.gz -C /usr/local/bin/
Mac 版:
wget https://tailor.tos-cn-beijing.volces.com/Tailor_mac.tar.gz && tar zxf Tailor_mac.tar.gz -C /usr/local/bin/
您可以执行如下命令查看Tailor使用说明,验证是否安装成功。
Tailor --help

步骤二:创建定制镜像脚本(可选)
定制镜像脚本内支持重启实例操作,且每一个script参数内,均可以重启实例。Tailor将在实例重启后继续执行脚本任务。
Tailor支持如下格式的脚本路径,您可以按需创建:
本地目录,例如:/tmp/update/。
本地脚本,例如:/tmp/a.sh。
网络脚本,例如: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),其他脚本和文件位置无限制。
标准的脚本集合示例
centos_shell.zip├── 00_extra_pkg.sh├── build1.sh├── build5.sh├── centos_zip.zip├── cleanup.sh└── cve.sh
build1.sh
#!/bin/bashset -xBASE_PATH=$(cd "$(dirname "$0")";pwd)source ${BASE_PATH}/configscripts=("00_extra_pkg.sh""cve.sh")for file in ${scripts[@]}dosource ${BASE_PATH}/${file}done
build5.sh
#!/bin/bashset -xBASE_PATH=$(cd "$(dirname "$0")";pwd)source ${BASE_PATH}/configscripts=("cleanup.sh")for file in ${scripts[@]}dosource ${BASE_PATH}/${file}done
步骤三:创建参数配置文件(可选)
若您不创建参数配置文件,可以在执行命令时直接传入参数及参数值。
临时实例由火山引擎自动创建,并在完成自定义镜像创建后删除。
执行如下命令,查看Tailor支持配置的参数。
Tailor build --help

参数 | 是否必填 | 说明 | 取值示例 |
base | 是 | 基础镜像ID,Tailor将在该镜像基础上创建自定义镜像。 说明
| image-yc6gg6s0nvl8j17XXXXX |
region | 否 | 创建自定义镜像时,所用的临时实例所在的地域,默认为cn-beijing(华北2(北京)),更多地域信息可查看地域和可用区。 注意 创建成功的自定义镜像也将在该地域下。 | cn-beijing |
zone | 否 | 创建自定义镜像时,使用的临时实例所在的可用区,默认为a(可用区A),更多地域信息可查看地域和可用区。 说明 可用区信息无需传入地域前缀,例如:北京可用区A 的ZoneID为cn-beijing-a,仅需传入a即可。 | a |
spec | 否 | 创建自定义镜像时,使用的临时实例规格,默认为ecs.g2i.xlarge(通用型g2i),更多实例规格可查看实例规格介绍。 | ecs.g2a.xlarge |
disksize | 否 | 指定镜像大小,单位为G,默认为20G。 | 20 |
script | 否 | 定制镜像的脚本,支持配置多个脚本。脚本说明可查看创建定制脚本。 | - |
name | 否 | 指定创建的自定义镜像名称。默认为:镜像类型-发布版本-架构-启动模式-时间戳,例如:centos-7.8-amd64-legacy-20220511_031740。 | CentOS7.9 |
创建配置参数的yml文件。
执行如下命令,创建配置文件。
vim config.yml
按i键,按如下结构写入您需要配置的参数信息。
base: image-yclxxxxxxregion: cn-beijingzone: ascript:- /temp/centos_shell.zip- http://install/update.sh- /temp/download.shspec: ecs.g2a.xlargedisksize: 20name: CentOS7.9
按ecs键退出编辑,输入:wq按回车键,保存并退出文件。
步骤四:创建自定义镜像
Tailor执行创建自定义镜像任务时,将在您执行命令时所处的目录下记录任务信息及缓存文件,详情可查看创建结果。
cd /etc/Tailors/
执行如下命令,导入访问密钥(Access Key)中包含的Access Key ID(简称AK)和 Secret Access Key(简称SK)。获取详情可查看使用指南。
export VOLC_AK=xxxexport VOLC_SK=xxx
执行如下命令,创建自定义镜像。
通过参数配置文件指定参数值。
Tailor build config.yml
直接指定参数值。
Tailor build -base=image-ybqi99s7aayq8rx7xxxxx -script=/tmp/update.sh -script=/tmp/centos_shell.tgz
支持配置的参数详情,可查看创建参数配置文件。
script参数支持复用,用以传入多个脚本信息。
执行成功后,Tailor将输出生成的自定义镜像ID、名称,且自定义镜像将自动添加至临时实例所在地域。

步骤五:查看创建结果
查看自定义镜像
登录镜像控制台。
在顶部导航栏选择目标自定义镜像所在地域与项目。
选择“自定义镜像”页签。
若目标镜像“状态”列为可用,则创建自定义镜像成功。

您还可以单击镜像名称进入镜像详情页,选择“关联快照”页签,查看镜像包含的云盘关联的快照ID、云盘类型及对应容量信息。更多快照详情可查看快照概述。

查看任务
workspace└── centos-7.8-amd64-legacy-20220511_031740├── cache├── http├── log└── packer.json
文件名 | 说明 |
cache | 缓存文件目录。 |
http | 网络拉取的中间文件目录,例如:定制镜像的脚本。 |
log | 日志文件目录。 |
packer.json | Packer构建器模板文件。 |
日志说明
日志级别
0:日志展示FATAL内容。
1:默认值,日志展示ERROR及更低级别内容。
2:日志展示WARN及更低级别内容。
3:日志展示DEBUG及更低级别内容。
4:日志展示INFO及更低级别内容。
配置说明
TAILOR_LOG_LEVEL=4 Tailor build -base=image-ybqi99sxxxxxx -spec=ecs.g2a.large
