赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 实践教程
  5. 使用Harbor的远程复制能力同步镜像到ACR企业版实例并实现异地容灾

使用Harbor的远程复制能力同步镜像到ACR企业版实例并实现异地容灾

  • 实践教程
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

本文介绍如何使用Harbor的远程复制功能将自建Harbor上的镜像单向同步到阿里云ACR企业版,并实现容器镜像仓库的异地容灾。

说明

若您不需要选择Harbor的远程复制来进行同步,或者对同步速率有较高的要求,请参见十分钟迁移自建Harbor至容器镜像服务企业版。

前提条件

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

操作步骤

Harbor同步镜像至ACR企业版实例

说明

若Harbor部署在本地IDC,首先需要打通本地IDC与云上VPC。具体操作,请参见跨地域或从IDC访问企业版实例。

步骤一:创建命名空间

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

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

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

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

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

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

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

    参数

    说明

    命名空间

    填入Harbor中需要同步的项目名称。例如test-project。

    自动创建仓库

    选择开启。

    说明

    若选择关闭,在同步镜像前需要在ACR中创建相应的仓库。

    默认仓库类型

    自定义。建议选择私有。

步骤二:在Harbor上配置目标仓库

  1. 登录Harbor。

  2. 在左侧导航栏选择系统管理 > 仓库管理。

  3. 在仓库管理页面,单击新建目标。image.png

  4. 在新建目标对话框,填写参数配置。

    参数

    说明

    提供者

    选择Docker Registry。

    目标名

    自定义。

    描述

    自定义。

    目标URL

    填写ACR企业版实例目标仓库域名地址,确保访问控制已开启,更多信息,请参见配置专有网络的访问控制和配置公网的访问控制。

    • 专有网络:

      示例:https://<企业版实例名称>-registry-vpc.cn-qingdao.cr.aliyuncs.com。

    • 公网:

      示例:https://<企业版实例名称>-registry.cn-qingdao.cr.aliyuncs.com。

    访问ID

    仓库登录名为阿里云用户账号名。

    访问密码

    仓库登录密码。更多信息,请参见使用固定密码。

    image.png

  5. 参数配置填写完成后,单击测试连接。若出现测试连接成功,则代表参数填写正确,单击确定。image.png

步骤三:配置同步规则

  1. 登录Harbor。

  2. 在左侧导航栏选择系统管理 > 复制管理。

  3. 在复制管理页面,单击新建规则。image.png

  4. 在新建规则对话框,填写参数。单击保存。

    参数

    说明

    名称

    自定义。

    描述

    自定义。

    复制模式

    选择Push-based。

    源资源过滤器

    用于过滤需要同步的资源,可依据Harbor界面的提示自行填写,默认为全部资源。

    目标仓库

    选择步骤二创建的目标。

    目标

    名称空间填写目标ACR上的命名空间;仓库扁平化用以在复制镜像时减少仓库的层级结构,推荐选择替换1级,例如:harbor-project/nginx -> acr-ns/nginx。

    触发模式

    自定义。建议选择事件驱动来同步Harbor上的镜像变动。

    带宽

    限制同步时的最大网络带宽。默认为-1,表示无限制。

    image.png

  5. 在复制管理页面,选择上一步骤中创建的规则,单击复制。可以手动同步存量的镜像到ACR企业版实例。当相应的复制任务转化为Succeeded后,同步任务运行成功。后续对Harbor相应仓库的改动将通过事件驱动同步至ACR企业版实例。image.png

配置自定义域名实现异地容灾

容器镜像服务企业版实例支持自定义域名功能,该功能允许为容器镜像服务企业版实例添加自定义域名和相应的SSL证书,从而使用自定义域名并通过HTTPS协议来访问实例。

根据不同的网络环境,可以使用如下不同的容灾方案。

方案一:Harbor部署在阿里云,业务通过公网访问ACR企业版实例

本文以ACR企业版实例在杭州,Harbor实例在张家口,且两个实例都配置了相同的域名并配置了PrivateZone为例。关于如何配置PrivateZone,请参见通过自定义域名访问容器镜像服务企业版实例。

ACR企业版实例与Harbor实例基本信息如下。

实例ID

公网域名

绑定VPC

自定义域名

ACR-A

a-registry.cn-hangzhou.cr.aliyuncs.com

vpc-aaaaa

cross-region.registry.io

Harbor-B

-

vpc-bbbbb

cross-region.registry.io

若位于张家口的Harbor发生故障导致无法推拉镜像,您可以通过修改自定义域名PrivateZone解析来实现跨地域拉取ACR实例的同镜像,具体操作方式如下。

  1. 登录云解析DNS产品控制台。

  2. 在左侧导航栏选择内网DNS解析 (PrivateZone)。

  3. 在内置权威页签下搜索Zone名称cross-region.registry.io(即实例的自定义域名),此时可以搜索到两个Zone,单击实例关联VPC为vpc-bbbbb的Zone。

  4. 在解析设记录页签,单击目标记录操作列的修改。

  5. 在修改记录对话框,设置参数。单击确定。

    参数

    说明

    记录类型

    选择CNAME。

    主机记录

    设置为@。

    记录值

    a-registry.cn-hangzhou.cr.aliyuncs.com(即 ACR 实例的公网域名)

    TTL时间

    默认值即可。

方案二:Harbor未部署在阿里云,业务通过公网访问ACR企业版实例

将自定义容器镜像服务ACR企业版实例的域名设置为自建Harbor使用的域名(例如:www.ha****.com)。更多内容,请参见通过自定义域名访问容器镜像服务企业版实例。

若自建的Harbor发生故障导致无法推拉镜像,需要修改域名解析,使域名www.harbor.com可以解析到ACR企业版实例的公网IP,从而通过公网访问ACR企业版实例。

方案三:Harbor未部署在阿里云,业务通过专有网络访问ACR企业版实例

若自建Harbor发生故障导致无法推拉镜像。请先获取ACR企业版实例IP,配置路由规则以及域名解析,使自建Harbor使用的域名(例如:www.harbor.com)可以解析到ACR企业版实例的IP,从而通过专有网络访问ACR企业版实例。具体操作,请参见跨地域或从IDC访问企业版实例。

相关文章

使用OCI v1.1.0规范管理和关联容器镜像及其衍生制品 2025-04-18 15:15

从2024年04月起,新创建的ACR企业版实例将支持OCI的Image和Distribution规范v1.1.0,包括对Reference Types的支持。这意味着您除了可以存储和分发容器镜像外,还能管理和分发非容器镜像内容的OCI制品,如镜像签名和软件物料清单(SBOM)。这使您能够像管理容器镜

使用触发器构建容器DevOps 2025-04-18 15:15

通过容器镜像服务可以便捷地构建基于容器的DevOps开发环境。本文介绍如何使用触发实现镜像代码被修改后,自动触发镜像构建,且自动触发容器服务上应用的重新部署。 前提条件 已绑定企业版实例与阿里云Codeup代码平台。<

使用Jenkins实现镜像的CICD 2025-04-18 15:15

若您期望实现从源代码自动构建、推送镜像到最终部署应用的一体化自动化操作。您可以使用Jenkins实现镜像的CI/CD,只要您在GitLab中提交源代码,容器镜像会自动使用源代码构建镜像,容器服务会自动拉取镜像部署应用,并自动发送事件通知到钉钉群。 前提条件

Java项目容器化构建最佳实践 2025-04-18 15:15

使用Dockerfile将源代码构建成容器镜像,进行镜像分发、部署。相比于Golang或Python项目,Java项目因企业一般会选择自建依赖仓库(如Maven)导致容器化构建难度高,因不熟悉Dockerfile缓存机制导致构建速度较慢。本文从典型用户场景(云上自建GitLab代码仓库、自建Mave

在Dockerfile中使用构建打包镜像并运行 2025-04-18 15:15

通过使用多阶段构建应用以及结合阿里云容器镜像服务(ACR)的镜像构建服务,可以使Java应用具有构建安全、构建速度快、镜像文件体积小等优点。 前提条件

本地构建和推送多架构镜像到容器镜像服务 2025-04-18 15:15

使用ARM架构资源部署容器通常可以节省不少成本,但也可能导致维护成本增加,您可能需要面向x86、ARM架构分别构建镜像并设置不同的Tag。您可以使用docker buildx来构建多架构镜像,并通过docker manifest实现一个Tag管理多架构的容器镜像。 前提条件

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