You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
创建自定义镜像
使用Tailor创建自定义镜像
复制全文
下载 pdf
使用Tailor创建自定义镜像
Tailor是平台提供的自定义镜像构建工具,支持在Linux、Mac操作系统中运行。您可以通过本工具在指定的镜像基础上创建自定义镜像。​
本文介绍如何通过自定义镜像构建工具Tailor,创建自定义镜像。​
前提条件​
  • 请参考账户说明确认您的火山引擎账号余额(即现金余额)和代金券的总值大于等于100元人民币。若余额不足,您可参考充值操作指引进行充值。​
注意事项​
  • 暂不支持通过本工具创建Windows自定义镜像。​
  • 仅针对您的系统盘创建自定义镜像。创建自定义镜像所需的时间,取决于系统盘的实际大小。​
  • 平台将创建按量计费的临时云服务器实例、公网IP等资源用于创建自定义镜像,并在创建镜像后自动删除。创建过程中相关云资源将收取费用,计费方式说明可查看按量计费。​
操作步骤​
步骤一:安装Tailor​
  1. 登录您运行Tailor工具的实例,操作详情可查看登录Linux实例。​
  1. 执行如下命令,在/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/​
    ​
  1. 您可以执行如下命令查看Tailor使用说明,验证是否安装成功。​
  • ​
    Tailor --help​
    ​
  • ​​​
步骤二:创建定制镜像脚本(可选)​
您可以将镜像需要定制的内容(例如:安装软件、驱动、修复CVE漏洞等)制作为Shell脚本,并通过Tailor在创建自定义镜像时执行。​
注意​
  • 定制镜像脚本内支持重启实例操作,且每一个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​
​
其中buildx.sh脚本内容示例如下:​
  • build1.sh​
  • ​
    #!/bin/bash​
    ​
    set -x​
    ​
    BASE_PATH=$(cd "$(dirname "$0")";pwd)​
    ​
    source ${BASE_PATH}/config​
    ​
    scripts=(​
    "00_extra_pkg.sh"​
    "cve.sh"​
    )​
    for file in ${scripts[@]}​
    do​
    source ${BASE_PATH}/${file}​
    done​
    ​
  • build5.sh​
  • ​
    #!/bin/bash​
    ​
    set -x​
    ​
    BASE_PATH=$(cd "$(dirname "$0")";pwd)​
    ​
    source ${BASE_PATH}/config​
    ​
    scripts=(​
    "cleanup.sh"​
    )​
    for file in ${scripts[@]}​
    do​
    source ${BASE_PATH}/${file}​
    done​
    ​
步骤三:创建参数配置文件(可选)​
使用Tailor创建自定义镜像时,支持通过参数指定创建出的自定义镜像名称、镜像大小、创建过程使用的临时实例规格、等信息,您可以通过yaml文件配置参数。​
说明​
  • 若您不创建参数配置文件,可以在执行命令时直接传入参数及参数值。​
  • 临时实例由平台自动创建,并在完成自定义镜像创建后删除。​
  1. 执行如下命令,查看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​
    ​
  1. 创建配置参数的yml文件。​
  1. 执行如下命令,创建配置文件。​
  • ​
    vim config.yml​
    ​
说明​
文件名config请自行替换为所需名称。​
  1. 按i键,按如下结构写入您需要配置的参数信息。​
  • ​
    base: image-yclxxxxxx​
    region: cn-beijing ​
    zone: a​
    script:​
    - /temp/centos_shell.zip​
    - http://install/update.sh​
    - /temp/download.sh​
    spec: ecs.g2a.xlarge​
    disksize: 20​
    name: CentOS7.9​
    ​
  1. 按esc键退出编辑,输入:wq按回车键,保存并退出文件。​
步骤四:创建自定义镜像​
  1. Tailor执行创建自定义镜像任务时,将在您执行命令时所处的目录下记录任务信息及缓存文件,详情可查看创建结果。​
  • 执行如下命令,进入您期望存储相关内容的目录。​
  • ​
    cd /etc/Tailors/​
    ​
说明​
请将/etc/Tailors/替换为您的目录路径。​
  1. 执行如下命令,导入访问密钥(Access Key)中包含的Access Key ID(简称AK)和 Secret Access Key(简称SK)。获取详情可查看使用指南。​
  • ​
    export VOLC_AK=xxx​
    export VOLC_SK=xxx​
    ​
  1. 执行如下命令,创建自定义镜像。​
说明​
创建自定义镜像时,Tailor默认将在控制台输出包含FATAL、ERROR的日志信息。日志说明及调整展示的日志信息操作,可查看日志说明。​
  • 通过参数配置文件指定参数值。​
  • ​
    Tailor build config.yml​
    ​
说明​
参数配置文件创建详情,可查看创建参数配置文件。​
  • 直接指定参数值。​
  • ​
    Tailor build -base=image-ybqi99s7aayq8rx7xxxxx -script=/tmp/update.sh -script=/tmp/centos_shell.tgz​
    ​
说明​
  • script参数支持复用,用以传入多个脚本信息。​
  1. 执行成功后,Tailor将输出生成的自定义镜像ID、名称,且自定义镜像将自动添加至临时实例所在地域。​
  • ​​​
步骤五:查看创建结果​
查看自定义镜像​
  1. 登录镜像控制台。​
  1. 在顶部导航栏选择目标自定义镜像所在地域与项目。​
说明​
镜像地域与您配置的临时实例所在地域一致,详情可查看创建参数配置文件。​
  1. 选择“自定义镜像”页签。​
  1. 若目标镜像“状态”列为可用,则创建自定义镜像成功。​
  • ​​​
  1. 您还可以单击镜像名称进入镜像详情页,选择“关联快照”页签,查看镜像包含的云盘关联的快照ID、云盘类型及对应容量信息。更多快照详情可查看快照概述。​
  • ​​​
查看任务​
Tailor将在您执行Tailor build命令时所处的目录下,创建workspace目录,存放创建自定义镜像任务的中间产物,便于您排查创建过程出现的问题。​
不同创建自定义镜像任务,将在该目录下以“镜像名称-时间戳”形式创建任务目录,在其中记录对应任务的缓存文件、http文件等信息。​
说明​
正常执行的创建任务,一般不会在其任务目录下留存信息。​
workspace结构示例​
​
workspace​
└── centos-7.8-amd64-legacy-20220511_031740 ​
├── cache​
├── http​
├── log​
└── packer.json ​
​
​
文件名​
说明​
cache​
缓存文件目录。​
http​
网络拉取的中间文件目录,例如:定制镜像的脚本。​
log​
日志文件目录。​
packer.json​
Packer构建器模板文件。​
​
日志说明​
Tailor会在创建自定义镜像时,将该任务日志信息输出在控制台中。您可以根据需求在执行创建镜像命令时指定日志等级,以此调整展示日志详略程度。​
日志级别​
日志级别及对应内容如下:​
  • 0:日志展示FATAL内容。​
  • 1:默认值,日志展示ERROR及更低级别内容。​
  • 2:日志展示WARN及更低级别内容。​
  • 3:日志展示DEBUG及更低级别内容。​
  • 4:日志展示INFO及更低级别内容。​
配置说明​
您可以在执行Tailor build命令创建自定义镜像时时,传入TAILOR_LOG_LEVEL参数并指定目标任务的日志级别。示例如下:​
​
TAILOR_LOG_LEVEL=4 Tailor build -base=image-ybqi99sxxxxxx -spec=ecs.g2a.large​
​
​​​
最近更新时间:2025.08.15 18:17:54
这个页面对您有帮助吗?
有用
有用
无用
无用