更新时间:2026-07-01 GMT+08:00
分享

将镜像同步到其他区域

操作场景

容器镜像服务企业版支持与其他注册表之间同步容器镜像及Helm Chart,可实现单点推送及全球自动同步分发,方便企业在全球多个地域快速部署更新容器业务。当前支持与如下类型注册表之间同步:

  • 容器镜像服务:即SWR基础版仓库中的镜像。
  • 容器镜像服务企业版:支持华为云不同地域的企业注册表以及客户基于开源harbor搭建的私有注册表。

镜像同步功能允许用户自定义创建同步规则,可指定某个注册表内的部分资源同步至另一个注册表内的命名空间。例如,用户可选择同步资源类型(容器镜像、Helm Chart、或是全部同步),通过正则表达式过滤镜像及版本,可选择是否覆盖已有的同名镜像,避免历史数据覆盖丢失。

您还可以登录统一身份认证创建自定义策略来灵活的控制是否允许某个Region的镜像可以同步到其他Region。自定义策略创建成功后,在使用策略所禁止的源Region或者目标Region创建镜像同步规则时,同步规则会创建失败。详细的自定义策略请参见SWR自定义策略

约束与限制

镜像同步时,若单个镜像存在多个签名文件附件,仅同步最新签名文件附件。

镜像同步时,若源镜像名称包含斜杠“/”(如test/image/nginx),同步到目标端后将仅保留最后一段作为镜像名称(nginx)。

操作步骤

表1 操作步骤

操作步骤

说明

添加目标仓库

在开始镜像同步前,需先配置目标仓库信息,用于接收同步的镜像数据。

创建同步规则

配置同步规则,定义需要同步的镜像范围、触发模式及同步方向。

镜像同步

规则创建后,根据触发模式执行同步任务,并验证同步结果。

添加目标仓库

  1. 由于容器镜像服务企业版目前处于公测阶段,如果您的租户登录页面后看不到“企业版”链接,请提交工单申请入口。申请成功后,登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“镜像同步 > 目标仓库”
  3. 在右上角单击“添加目标仓库”

    表2 目标仓库参数说明

    参数

    示例

    参数说明

    仓库名

    remote-registry

    目标仓库名称。

    1-64字符组成,只能包含英文大小写、数字、汉字、中划线和下划线。

    提供者

    容器镜像服务企业版

    选择目标仓库所在位置。

    • 容器镜像服务:即SWR基础版中的镜像。
    • 容器镜像服务企业版:其他仓库,可以是不同地域的企业注册表
    • 开源Harbor仓库:使用harbor搭建的镜像仓库。

    仓库地址

    swr.cn-east-3.myhuaweicloud.com

    目标仓库的地址。

    访问ID

    访问密码

    -

    目标仓库的访问ID和密码。

    ID和密码对应docker login命令中的用户名和密码。

    验证远程证书

    -

    校验证书是否为授信单位发布,不勾选则不校验。

    所属区域

    华东-上海一

    提供者为“容器镜像服务 企业版”时需要选择。

    所属项目

    华东-上海一

    提供者为“容器镜像服务 企业版”时需要选择。

    所属仓库

    -

    提供者为“容器镜像服务 企业版”时需要选择。

    hosts配置

    -

    仅提供者为“开源Harbor仓库”时才有该参数,后台服务只能解析当前局点的公共域名,若涉及其他域名请配置host参数,如仓库域名与OBS桶域名。

    描述

    -

    目标仓库的描述信息,可包含1024字符。

    图1 添加目标仓库

  4. 单击“确定”
  5. 创建完成后,界面会显示目标仓库的健康状态,您还可以对目标仓库的信息进行修改。

创建同步规则

  1. 由于容器镜像服务企业版目前处于公测阶段,如果您的租户登录页面后看不到“企业版”链接,请提交工单申请入口。申请成功后,登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“镜像同步 > 同步规则”
  3. 在右上角单击“创建同步规则”
  4. 填写具体规则。详情请参见图2 创建同步规则

    表3 同步规则参数说明

    参数

    示例

    参数说明

    规则名称

    SyncRule

    镜像同步规则的名称。

    由字母、汉字、数字、下划线(_)、中划线、(-)组成,1-256个字符。

    同步模式

    推送到目标仓库

    • 推送到目标仓库:将本仓库中镜像推送到目标仓库中。
    • 从目标仓库拉取:从目标仓库中拉取镜像到本仓库中。

    目标仓库

    -

    选择上面添加目标仓库步骤中添加的目标仓库。

    目标命名空间

    library1

    同步至目标仓库后所在的命名空间(其他云厂商可能被称作项目等),不填写则默认是与本仓库中同名的命名空间,如果目标仓库中没有该命名空间同步可能会失败。

    本地命名空间

    library1

    从目标仓库拉取到本仓库,镜像所在的命名空间,不填写则默认是与目标仓库中同名的命名空间(其他云厂商可能被称作项目等),如果没有命名空间将新建。

    本地仓库推送范围

    library2

    nginx-*

    **

    命名空间:命名空间名称范围。

    镜像:镜像名称,默认使用正则表达式匹配。单击可手动选择镜像。

    正则表达式规则可填写如nginx-* 、{repo1, repo2} 等,其中:

    • *:匹配不包含路径分隔符“/”的任何字段。
    • **:匹配包含路径分隔符“/”的任何字段。
    • ?:匹配任何单个非“/”的字符。
    • {选项1, 选项2, ...}:同时匹配多个选项。

    版本:镜像的版本,同样使用正则表达式匹配,匹配规则与镜像相同。

    说明:

    当同步模式是“推送到目标仓库”时有该参数。

    目标仓库拉取范围

    library2

    nginx-*

    **

    命名空间:命名空间名称范围。

    镜像:镜像名称,使用正则表达式匹配。

    正则表达式规则可填写如nginx-* 、{repo1, repo2} 等,其中:

    • *:匹配不包含路径分隔符“/”的任何字段。
    • **:匹配包含路径分隔符“/”的任何字段。
    • ?:匹配任何单个非“/”的字符。
    • {选项1, 选项2, ...}:同时匹配多个选项。

    版本:镜像的版本,同样使用正则表达式匹配,匹配规则与镜像相同。

    说明:

    当同步模式是“从目标仓库拉取”时有该参数。

    触发模式

    定时 + 手动

    • 手动:手动触发,规则创建完成后需要您手动单击执行。
    • 事件触发 + 手动:事件触发指推送和被拉取一方有新增镜像且符合匹配规则时触发同步。
    • 定时 + 手动:定时即为设置周期性定时同步。

    定时

    -

    触发模式为“定时 + 手动”时可以设置。

    覆盖

    -

    当同步相同版本的镜像时,是否覆盖。

    规则描述

    -

    规则的描述信息。

    图2 创建同步规则

  5. 单击“确定”完成规则创建。

同步规则示例

  • 推送到目标仓库

将本仓库中library命名空间中以“nginx-”名称开头的所有版本镜像,推送到目标仓库test的lib1命名空间下,触发模式为手动触发,且覆盖相同名称版本的镜像。

  • 从目标仓库拉取

将目标仓库test的lib1命名空间中以“nginx-”名称开头的所有版本镜像,拉取到本仓库library1命名空间中,触发方式为手动触发,且覆盖相同名称版本的镜像。

管理同步规则

成功创建后即可在“同步规则”页面查看已创建的同步规则,您可以执行以下操作管理同步规则。

  • 启用:表示规则启用,表示规则关闭。新创建的同步规则默认为启用状态,您可以自行调整。
  • 执行:手动触发同步规则。
  • 编辑:重新编辑同步规则,所有参数均可编辑。
  • 删除:删除该同步规则。

镜像同步

  1. 购买仓库,详细操作步骤请参考购买注册表
  2. 由于容器镜像服务企业版目前处于公测阶段,如果您的租户登录页面后看不到“企业版”链接,请提交工单申请入口。申请成功后,登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击仓库名称进入仓库详情页面。
  3. 在左侧导航栏选择“镜像同步”>“目标仓库”。
  4. 按照表格填写相关参数,配置目标仓库,参数填写说明表2
  5. 在左侧导航栏选择“镜像同步”>“同步规则”,创建一个仓库同步规则,详细操作步骤请参考创建同步规则。镜像将根据创建的规则自动或手动同步。

镜像同步操作验证

  1. 验证同步状态:查看同步任务,当同步规则被触发时,符合规则范围的镜像将被同步,同步任务包含的信息如表3 同步任务
    图3 同步规则
    图4 任务详情

  2. 验证目标仓库中的镜像:登录目标仓库,查看同步的镜像是否存在于目标仓库中。
  3. 验证镜像内容:从目标仓库中拉取镜像,并运行容器,验证镜像内容是否正确。
    表4 同步任务

    参数

    示例

    参数说明

    任务ID

    1

    仓库内唯一的同步执行任务ID。

    状态

    成功

    任务完成状态,成功或失败。

    触发模式

    自动

    手动或自动。

    单击“执行”为手动方式,通过规则定义的周期自动执行,则为自动方式。

    成功百分比

    100.00%

    同步成功的镜像数占总数的百分比。

    总数

    1

    当前任务需要同步的镜像总数。

    持续时间

    8秒

    完成一次任务消耗的时间。

    创建时间

    2026/03/11 14:25:41 GMT+08:00

    同步任务被触发的时间。

    操作

    查看同步具体详细信息

    任务详细信息,单击后在侧边栏可查看哪些镜像被同步。

相关文档

相关文档