镜像构建服务最佳实践

镜像构建服务是阿里云提供的一站式镜像定制、修复与测试、跨地域分发、跨账号共享的服务。本教程通过镜像构建服务构建Nginx开发环境的自定义镜像,并通过该自定义镜像创建ECS实例测试Nginx环境是否正常访问。

实践流程

本教程中示例的资源配置说明如下:

  • 当前地域:华北2(北京)

  • 分发地域:华东1(杭州)

  • 公共镜像:Alibaba Cloud Linux 3

  • 镜像模板构建内容:Nginx开发环境

本教程通过镜像构建服务构建Nginx开发环境的流程如下:

  1. 步骤一:创建镜像组件:在华北2(北京)地域创建包含Nginx开发环境的镜像组件。

  2. 步骤二:创建并执行镜像模板:通过创建的镜像组件快速创建镜像模板并执行构建任务,然后将构建的自定义镜像(本教程以Nginx-image开头)分发至华东1(杭州)地域。

  3. 步骤三:创建ECS实例并测试Nginx环境:在华东1(杭州)地域使用构建的自定义镜像创建ECS实例,并在本地测试是否可以正常访问Nginx环境。如果可以访问,表示镜像构建服务构建的自定义镜像可以正常使用。

步骤一:创建镜像组件

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择部署与弹性 > icon1 > 镜像构建

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 镜像构建页面,单击镜像组件页签。

    说明

    如果您是第一次访问镜像构建服务,将进入镜像构建欢迎页,您需要先单击立即体验进入镜像构建页面。

  5. 选择自定义组件页签,然后单击创建镜像组件

  6. 创建Build组件。

    本教程中主要说明以下参数,其他更多参数说明请参见创建镜像组件

    • 组件类型:选择Build

    • 系统类型:选择Linux

    • 配置组件内容:在YAML页签中直接选择创建安装Nginx组件,构建命令如下:

      image

  7. 创建Test组件。

    本教程中主要说明以下参数,其他更多参数说明请参见创建镜像组件

    • 组件类型:选择Test

    • 系统类型:选择Linux

    • 配置组件内容:在YAML页签中直接选择Nginx是否安装测试组件,测试命令如下:

      image

步骤二:创建并执行镜像模板

  1. 镜像模板页签,单击创建镜像模板

  2. 完成镜像模板的配置,然后单击确定

    本教程中主要说明以下参数,其他更多参数说明请参见创建镜像模板并执行构建任务

    • 配置源镜像:根据您的业务需求,选择源镜像类型和镜像,镜像模板会基于源镜像进行构建。

      本教程选择公共镜像,并选择一个Alibaba Cloud Linux 3的镜像ID,例如:

      image

    • 配置模板内容:在构建模板中添加镜像组件、确定是否开启镜像检测修复以及镜像测试。本教程中示例配置如下所示。

      image

      参数

      说明

      构建模板

      选择步骤一创建的Build组件。

      是否执行镜像修复

      默认开启,在执行构建任务前系统自动检测并修复构建镜像的一些常见问题,并安装云上镜像的必要组件。

      是否执行镜像测试

      默认开启,在构建任务执行完成后系统自动使用指定的Test类型镜像组件对新镜像进行测试,以确保在正式使用前该镜像可以达到预期的使用效果。

      测试构建模板

      选择步骤一创建的Test组件。

    • 配置中转实例:根据您对构建镜像的需要,设置中转实例的规格、存储大小、公网带宽等资源。

      重要

      公网带宽默认值为0,即不具备公网访问能力。当您的镜像构建内容中存在需要访问公网的命令时,您必须设置一定值的公网带宽,否则将导致镜像构建任务失败。

      本教程中需要公网访问能力下载依赖,所以必须设置公网带宽/Mbps为非0值。

    • 配置镜像分发:根据您的业务需求,可以将构建的镜像分发至指定地域或共享至指定阿里云账号。本教程中示例配置如下所示。

      image

      参数

      说明

      目标镜像名称

      目标镜像名称前缀,最终生成的镜像名称会自动拼接执行任务返回的构建任务ID,即自定义名称前缀_构建任务ID。本教程中名称前缀设置为Nginx-image

      当前地域

      默认分发 华北2(北京)

      目标地域

      选择华东1(杭州)

      创建后立即执行

      选择

  3. 镜像模板页签中找到已创建的镜像模板,单击镜像模板ID,在镜像模板详情页面的构建历史页签查看任务的执行过程。

    说明

    构建过程大致需要十分钟左右,请您耐心等待。

    • 当构建任务的状态为成功时,表示构建镜像任务执行成功,同时会生成对应的镜像ID。您可以单击镜像ID查看生成的镜像详情。

    • 如果状态为失败,您可以在执行结果中查看详细信息,定位并排查问题。

  4. 在目标地域查看构建的自定义镜像。

    1. 在顶部菜单栏处,选择镜像目标地域,本教程是华东1(杭州)

    2. 自定义镜像页签的镜像列表中,查看生成的新镜像,镜像名称以Nginx-image开头。

步骤三:创建ECS实例并测试Nginx环境

  1. 在顶部菜单栏处,选择构建镜像所在的地域,本教程是华东1(杭州)

  2. 在构建镜像的操作列中单击创建实例,创建ECS实例。

    请根据您的业务需求创建ECS实例,创建时请注意以下配置项。具体操作及参数说明,请参见使用自定义镜像创建实例

    • 镜像信息已自动填充无需再填写。

    • 创建完成后需要访问Nginx开发环境,因此需要分配公网IPv4地址。

    • 选择的安全组入方向规则需要开放80端口。

  3. 实例创建完成后,返回实例列表页面,在IP地址列复制ECS实例的公网IP地址。

  4. 在本地环境中打开浏览器,在地址栏中输入ECS实例的公网IP地址进行访问。

    出现如下图所示的页面,表示Nginx已成功安装并启动,说明通过镜像构建服务构建的自定义镜像可以正常使用。

    image

    说明

    您可以远程登录ECS实例,运行nginx -v命令查看已安装的Nginx版本。