- 文档首页
镜像仓库
镜像仓库 CR
最佳实践
镜像迁移/同步
通过 cr-image-syncer 批量迁移镜像
镜像迁移/同步
通过 cr-image-syncer 批量迁移镜像
通过 cr-image-syncer 批量迁移镜像
cr-image-syncer 是镜像仓库自研的通用镜像迁移工具,支持将通用 Docker Registry 类型的镜像仓库迁移至火山引擎镜像仓库。
场景描述
多云和搬站场景中都涉及到镜像仓库的迁移工作,cr-image-syncer工具可以有效的支持通用 Docker Registry 类型的镜像仓库的迁移。
前提条件
- 已获取同步源头和目的镜像仓库实例的域名、用户名和登录密钥等基本信息。镜像仓库实例基础信息的获取方法参见 标准版实例管理。
- 确保第三方云镜像仓库和火山引擎镜像仓库网络连通。
说明
- 公网:当前镜像仓库已产品化支持通过 公网,将阿里云、腾讯云、AWS、Google、Harbor、Docker 等云厂家镜像仓库,一键迁移至火山引擎镜像仓库,操作详情参见 外部仓库同步至镜像仓库。
- 专线:支持通过专线的方式迁移镜像仓库。火山引擎提供 云企业网 等多种专线打通的方案,具体详情请咨询客户经理。
操作步骤
第一步:下载并安装工具
wget https://cr-tools.tos-cn-beijing.volces.com/darwin/amd64/cr-image-syncer && chmod a+x cr-image-syncer
wget https://cr-tools.tos-cn-beijing.volces.com/linux/amd64/cr-image-syncer && chmod a+x cr-image-syncer
第二步:批量创建命名空间
- 创建配置文件 config.yaml,代码示例如下。
apiHost: cr.cn-beijing.volcengineapi.com
instance: customer-registry
accessKey: AKLTY2xxxxMDI3YzE
secretKey: TkRrMxxxxMFlqVQ==
- 创建命名空间配置文件 namespace.yaml,代码示例如下。
repositoryDefaultAccessLevel: "Private"
repositoryDefaultAccessLevel: "Public"
repositoryDefaultAccessLevel: "Private"
cr-image-syncer prepare create-namespace --config config.yaml --namespaces namespace.yaml --debug
第三步:批量同步镜像
- 将鉴权信息添加至配置文件 config.yaml 中。本示例为第三方云迁移之前火山引擎,source 填写第三方云镜像仓库鉴权信息,target 填写火山引擎镜像仓库鉴权信息。
registryHost: src-registry-cn-beijing.cr.****.com
registryUsername: customer@****
registryHost: dst-registry-cn-beijing.cr.volces.com
registryUsername: customer@****
- 配置镜像批量同步文件 images.yaml,示例如下。多行输出时,每行的信息为 <来源 repo>:<目标 repo>
src-regsitry-cn-beijing.cr.****.com/****/repo: dst-registry-cn-beijing.cr.volces.com/ns1/repo
src-regsitry-cn-beijing.cr.****.com/****/a: dst-registry-cn-beijing.cr.volces.com/ns2/a
src-regsitry-cn-beijing.cr.****.com/****/ubuntu: dst-registry-cn-beijing.cr.volces.com/ns2/ubuntu
cr-image-syncer copy --without-prepare --config config.yaml --images images.yaml --debug
操作结果
操作完成后可在对应的 OCI 制品仓库镜像列表中查看已完成同步的镜像。
最近更新时间:2026.06.25 20:40:59