赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 操作指南
  5. 镜像构建
  6. 使用企业版实例构建镜像

使用企业版实例构建镜像

  • 镜像构建
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

容器镜像服务企业版提供安全且高效的源代码到容器镜像的自动化持续集成流程,并支持基于Dockerfile规则触发的自动构建镜像和镜像仓库提交功能。

前提条件

  • 已创建容器镜像服务企业版实例。具体操作,请参见创建企业版实例。

  • 已准备构建镜像的Dockerfile文件。

背景信息

容器镜像构建服务具备安全、稳定、高效等特性:

  • 安全:镜像构建时,系统会将单个任务派发到归属用户的独占环境内执行构建。

  • 稳定:由于使用用户专属的独占环境,单代码仓库多次构建的时间消耗较为稳定。

  • 智能加速:

    • 系统默认使用高效构建工具BuildKit,具备强大的构建能力(尤其针对多阶段构建场景),支持丰富的构建特性。

    • 系统托管了常用基础镜像。使用这些基础镜像,使构建过程无需进行任何镜像拉取,大大缩减构建时间。

    • 系统使用远程构建缓存来加速构建过程。

容器镜像构建服务支持多种代码托管平台、加速镜像制作等能力:

  • 代码托管平台:支持以下代码托管平台。

    代码平台

    代码平台版本

    绑定方式

    触发构建限制

    阿里云Codeup

    全部

    私人访问令牌

    无

    Gitee

    全部

    Gitee OAuth授权

    无

    GitHub

    仅支持GitHub个人版

    GitHub OAuth授权

    无

    GitLab

    全部

    私人访问令牌

    无

    Bitbucket

    全部

    Gitee OAuth授权

    无

  • 加速镜像制作:系统支持制作按需加载的镜像,支持在普通镜像推送完成后,自动制作加速镜像。具体操作,请参见按需加载容器镜像。

步骤一:绑定源代码平台

构建服务前,您需要绑定源代码平台。详细介绍,请参见绑定源代码托管平台。

重要
  • 本地仓库不支持镜像构建功能。

  • 接入VPC内的私有GitLab,请参见使用VPC安全构建模式构建容器镜像。

步骤二:创建命名空间

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面选择仓库管理 > 命名空间。

  6. 在命名空间页面单击创建命名空间。

  7. 在创建命名空间对话框中设置命名空间名称、是否自动创建仓库、默认仓库类型。单击确定。

步骤三:创建镜像仓库

说明

镜像加速仅支持标准版和高级版实例,建议您将基础版实例升级至标准版和高级版。

创建镜像仓库,并绑定代码仓库,此代码仓库触发的镜像构建都会推送到该镜像仓库下。

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面选择仓库管理 > 镜像仓库。

  6. 在镜像仓库单击创建镜像仓库。
  7. 在仓库信息配置向导中设置命名空间、仓库名称、仓库类型、镜像版本、镜像加速、摘要、描述信息,单击下一步。

  8. 在代码源配置向导中设置代码源、构建设置、构建规则设置,单击创建镜像仓库。

    参数

    说明

    代码源

    选择代码源。

    构建设置

    • 代码变更时自动构建镜像:当分支有代码提交后会自动触发构建规则。

    • 海外源智能加速:构建时会在海外机房构建,构建成功后推送到指定地域。如果您项目的Dockerfile文件需要从国外站点下载文件,但是跨境网络不稳定,您可以使用海外源智能加速。

    • 不使用缓存:每次构建镜像时会强制重新拉取基础依赖镜像,可能会增加构建时间。关闭不使用缓存,可以加速镜像的构建时间。

    在镜像仓库页面单击目标镜像仓库,您可以在镜像仓库管理页面左侧导航栏看到构建,说明镜像仓库和源代码仓库绑定成功。

步骤四:构建镜像

说明

如果您的镜像仓库管理页面没有构建,说明绑定源代码失败,请参见步骤一重新绑定源代码。

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面左侧导航栏,选择仓库管理 > 镜像仓库。

  6. 在镜像仓库页面单击目标仓库右侧操作列中的管理。

  7. 单击左侧导航栏中的构建,在构建规则设置区域单击添加规则,在构建信息配置向导中设置参数,然后单击下一步。

    参数

    说明

    类型

    设置源代码仓库的类型,可以是Branch或Tag。

    Branch/Tag

    选择或者填写Branch/Tag,支持正则规则。当正则规则为release-(?<imageTag>\w*)时,将识别release-v1源代码变更并自动构建版本为v1的镜像(不支持立即构建),更多信息,请参见正则表达式命名捕获组。

    说明

    设置正则规则后仅支持系统自动构建,不支持手动立即构建。

    构建上下文目录

    设置Dockerfile文件所在的目录。指的是相对目录,以Branch/Tag的根目录为父目录,例如您的Branch为master,您的Dockerfile文件放在master下,则您的Dockerfile目录为/。

    Dockerfile文件名

    设置Dockerfile文件名,默认为Dockerfile。

  8. 在镜像版本配置向导中设置参数,单击保存,然后单击下一步。

    说明

    单击新增配置,可以增加镜像版本,最多可以设置3个镜像版本。

    参数

    说明

    镜像版本

    设置镜像Tag,例如latest。支持命名捕获,例如使用Branch/Tag中捕获的内容。

    时间

    推送源代码的东八区(UTC+8)时间,有两种格式可供选择,例如20201015和202010151613。

    说明

    该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。

    Commit ID

    最近一次推送代码的Commit ID,默认取前6位,可以滑动下方的滑块设置位数。

    说明

    该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。

  9. 在构建配置配置向导中设置构建参数,然后单击确定。

    参数

    说明

    构建架构

    选择构建架构,支持并行构建,最终形成一个镜像版本对应多个架构镜像。

    构建参数

    镜像构建运行时参数,构建参数由区分大小写的键值对组成,您最多可以设置20个构建参数。您可以设置构建参数,该构建参数会修改Dockerfile文件中环境变量,使同一个Dockerfile文件呈现多种状态。

  10. 触发构建规则。

    您可以通过以下两种方式触发构建规则:

    • 在构建页面构建规则设置区域单击目标构建规则操作列下的立即构建,触发构建规则。

    • 向代码仓库的master分支提交代码,触发构建规则。

    说明
    • 在构建页面构建日志区域单击目标构建任务操作列的取消,可以取消构建任务。

    • 在构建页面构建日志区域单击目标构建任务操作列的日志,可以查看构建过程日志。

    在左侧导航栏单击镜像版本,您可以看到构建的镜像,说明构建镜像成功。

构建镜像示例一:基于固定分支main构建镜像(支持手动立即构建)

基于固定分支main构建镜像的规则参数配置示例如下:

  • 类型:Branch

  • Branch/Tag:main

  • 构建上下文目录:/

  • Dockerfile文件名:Dockerfile

  • 镜像版本:latest

当main分支上源代码变更或手动单击立即构建时,会触发镜像构建。构建的工作目录是/,文件为构建工作目录下名为Dockerfile的文件。镜像构建完成后生成的镜像版本为latest,构建规则如下图所示。

基于main构建规则.png

构建镜像示例二:基于正则规则匹配分支构建镜像(不支持手动立即构建)

基于正则规则匹配分支构建镜像的规则参数配置示例如下:

  • 类型:Branch

  • Branch/Tag:release-(?<imageTag>\w*)

  • 构建上下文目录:/

  • Dockerfile文件名:Dockerfile

  • 镜像版本:${imageTag}

  • 时间:yyyyMMddHHmm

  • Commit ID:30

当以release-开头的分支源代码变更时,会触发镜像构建。构建的工作目录是/,文件为构建工作目录下名为Dockerfile的文件。

以release-v1的分支源代码变更为例,正则规则release-(?<imageTag>\w*)会将分支名中的v1捕获给变量imageTag,并在镜像版本中使用该变量。镜像构建完成后生成的镜像版本为v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45,构建规则如下图所示。

基于正则规则构建规则.png

相关操作

镜像构建完成后,您还可以进行以下操作:

  • 您可以在ACK集群中免密拉取镜像。具体操作,请参见使用免密组件拉取容器镜像。

  • 您可以在ACK集群中使用镜像创建应用。具体操作,请参见创建无状态工作负载Deployment。

  • 您可以在ACK集群中使用P2P加速功能提升镜像拉取速度。具体操作,请参见在ACK或ACK Serverless集群中使用P2P加速。

相关文章

使用企业版实例构建镜像 2025-04-18 15:16

容器镜像服务企业版提供安全且高效的源代码到容器镜像的自动化持续集成流程,并支持基于Dockerfile规则触发的自动构建镜像和镜像仓库提交功能。 前提条件

绑定源代码托管平台 2025-04-18 15:16

构建镜像前,您需要绑定一个源代码托管平台,便于您后续进行构建镜像等操作。 前提条件

构建多架构容器镜像 2025-04-18 15:16

使用ARM架构资源部署容器通常可以节省不少成本,但也可能导致维护成本增加,您可能需要面向x86、ARM架构分别构建镜像并设置不同的Tag。通过ACR控制台配置的多架构构建任务可以帮助您简化这一过程,您可以通过一个Tag来管理多种架构的镜像。 前提条件

使用VPC安全构建模式构建容器镜像 2025-04-18 15:16

容器镜像服务ACR提供了VPC安全构建模式,支持在云上VPC或云下IDC机房(通过高速通道打通到云上VPC)内自建GitLab(或Maven仓库等其它内网服务),且不露出公网访问入口。本文介绍如何使用ACR VPC安全构建模式来进行镜像构建。 前提条件

镜像构建的出公网IP列表 2025-04-18 15:16

自建GitLab需要使用到出公网IP,用于打通容器镜像服务企业版与自建GitLab的网络访问链路。容器镜像服务企业版提供了出公网IP,您可以在自建GitLab中为出公网IP开放白名单访问,从而可以使用自建GitLab构建镜像。本文介绍各个地域的出公网IP。

Dockerfile优化推荐功能 2025-04-18 15:16

容器镜像服务ACR针对企业版实例运行的构建任务,提供了Dockerfile优化推荐功能,可以帮助您找出Dockerfile中的潜在问题,以提高容器镜像的质量。该功能不会对镜像构建功能产生任何影响,并且您无需进行任何操作,就可以在构建日志中查看优化推荐的结果。本文介绍如何根据Dockerfile优化推

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号