您可以通过镜像模版定制镜像内容,并支持跨地域跨账号构建镜像。本文介绍如何通过ECS控制台创建镜像模版。

背景信息

  • 在操作前,您需要先阅读以下注意事项:
    • 仅支持创建您自定义的镜像模版。
    • 仅支持设置Linux系统的公共镜像、自定义镜像、共享镜像或者镜像族系。
    • 通过镜像模版构建镜像时,需要创建中转实例辅助构建镜像,中转实例为按量计费的ECS实例,将收取一定的费用。更多信息,请参见按量付费
    • 命令内容大小不能超过16 KB,命令设置的上限为127个。
  • 镜像模版的构建模版支持的命令详情,请参见下表。
    命令 说明
    FROM 指定源镜像的命令。镜像组件中,不支持该命令;镜像模版中,当您配置源镜像后,系统会自动生成对应的FROM命令。格式为FROM IMAGE:<镜像ID>FROM IMAGE_FAMILY:<镜像族系名称>
    说明 在镜像模版中,如果您手动设置了FROM命令,那么配置源镜像后系统自动生成的FROM命令会被覆盖掉。
    RESTART 重启服务器命令。同一个命令后不允许添加任何内容。
    RUN 镜像构建命令。同一个命令允许设置多行,换行需要在前一行的末尾添加换行符(\)。命令格式示例如下所示:
    RUN echo hello;\
    echo world;
    ENV 系统变量配置命令。命令以键值对的形式,格式为ENV key valueENV key1="value1" key2="value2"
    说明 使用ENV key1="value1" key2="value2"命令时,不能缺失双引号。
    WORKDIR 设置工作目录命令。命令格式为WORKDIR /<path>WORKDIR <path1>/<path2>
    COPY 复制文件命令。命令格式为COPY {网络文件地址} 本地目录COPY 本地文件路径 本地目录
    USER 设置命令执行的用户。命令格式为USER <username>
    说明 变量<username>必须是系统中已存在的用户,否则执行命令将会报错。
    LABEL 定义模版元信息。同一个命令允许设置多行,换行需要在前一行的末尾添加换行符(\)。命令格式示例如下所示:
    LABEL user="username"\
    date="2020-11-11" key="value"
    CMD 开机自启动命令。命令格式为CMD ["executable","param1","param2"]CMD command param1 param2
    ENTRYPOINT 开机自启动命令。命令格式为ENTRYPOINT ["executable","param1","param2"]CMD command param1 param2
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择部署与弹性 > 镜像构建
  3. 在顶部菜单栏左上角处,选择地域。
  4. 镜像构建管理页面,单击创建镜像模版
    如果您第一次访问镜像构建服务,将进入镜像构建服务欢迎页,此时请您单击创建镜像模版
  5. 完成镜像模版的配置项,然后单击创建
    镜像模版的配置项说明如下各表所示。
    • 基本配置区域
      配置项 说明
      构建模版名称 必填。镜像模版的名称。
      描述 镜像模版的描述。
      标签 镜像模版的标签,用于统一管理资源。更多信息,请参见标签概述
    • 配置源镜像区域
      配置项 说明
      通过Dockerfile导入模版 您可以直接通过Dockerfile导入已编辑好的模版内容,该内容会覆盖您通过ECS控制台已配置的源镜像类型镜像构建模版信息,请谨慎操作。
      源镜像类型 支持设置镜像镜像族系
      镜像镜像族 必填。配置项根据源镜像类型的设置有所不同。
      说明 目前仅支持选择Linux系统的镜像。
      • 源镜像类型镜像时,第一个下拉列表支持选择自定义镜像公共镜像共享镜像。第二个下拉列表选择对应的镜像ID或镜像版本。
      • 源镜像类型镜像族系时,需要选择指定的镜像族
      构建模版 需要设置命令内容。支持的命令请参见背景信息。设置完成后可以单击预览模版查看模版内容。
      说明 命令支持选择已有组件,对应的内容为组件ID。
    • 配置中转实例区域
      配置项 说明
      虚拟交换机 需要配置当前地域下可使用的交换机。如果不配置系统将默认创建临时的VPC和交换机,请确保您地域下的资源配额充足。
      实例规格 设置中转实例的实例规格。不设置值时,默认按vCPU和内存最小的原则,自动设置实例规格,并受实例规格的库存影响。例如,默认选择ecs.g6.large实例规格,如果库存不足,将选择ecs.g6.xlarge实例规格。
      系统盘大小 中转实例的系统盘大小。取值范围为20~500 GiB,默认值40 GiB。
      公网带宽/M 公网带宽默认值为0,即不具备公网访问能力。当您的镜像构建内容中存在需要访问公网的命令(例如下载命令)时,您必须设置一定值的公网带宽。否则镜像构建任务会失败。
      镜像构建失败是否销毁中转实例 您可以根据需求选择是否保留中转实例。
      说明 如果您选择保留中转实例,实例将持续计费。当您不再需要中转实例时,请及时手动释放。具体操作,请参见释放实例
    • 配置镜像分发区域
      配置项 说明
      目标镜像名称 目标镜像名称前缀。最终完整的镜像名称由系统自动拼接名称前缀与构建任务ID(ExecutionId),格式为自定义名称前缀_构建任务ID
      当前地域 系统展示ECS控制台当前所在地域。
      默认分发地域 如果需要将构建的镜像复制到多个地域,您可以设置分发地域,构建的镜像将会分发至指定地域。分发地域数量限制为0~20个。可以不设置分发地域。
      共享UID 如果需要将构建的镜像共享至其他阿里云账号,你可以设置共享UID,构建的镜像将会共享至同地域下指定的阿里云账号。共享UID数量限制为0~20个。可以不设置共享UID。
      说明 您可以单击控制台页面右上角的用户头像,选择账号管理 > 安全设置查看账号ID
      创建后立即执行 您可以根据需求选择是否立即执行构建镜像任务。如果不立即执行,您可以手动执行任务,具体操作,请参见执行构建任务
    创建成功后,您可以在镜像构建管理页面查看已创建的镜像模版。