无论在容器应用服务从IDC到云上迁移,或者在多家云资源中互相迁移的过程,迁移或者同步镜像仓库是重要的前提准备工作,常见的可能有如下场景:
- Dockerhub 镜像仓库
- 自建 docker registry
- 自建 harbor 镜像仓库
- 各家云商上提供的 镜像仓库
迁移参考方案
harbor 镜像仓库迁移
如果是 harbor 镜像仓库,可以直接利用harbor 复制功能,直接同步到新的harbor 仓库中
迁移过程步骤概述如下:
- 准备原 harbor 和部署好新的harbor仓库
- 在原 harbor 管理页面,完成配置项,仓库管理中新建目标,复制管理中新建同步规则,然后启动迁移任务
- 最后在新的harbor仓库确认是否完成迁移
迁移实例步骤参考:
- 准备仓库
原 harbor : https://harbor.onwalk.net 用户 admin 密码 xxxxx
新 harbor : https://harbor-new.onwalk.net 用户 admin 密码 xxxxx -
原 harbor 管理页面 -> 系统管理 -> 仓库管理, 新建目标:
- 验证远程仓库证书项需要关闭
-
原 harbor 管理页面 -> 系统管理 -> 复制管理,新建规则:
- 目标仓库选择步骤2中创建的仓库地址
- 源资源过滤器,可选全部,或者部分项目
- 触发方式,根据需要,可选 手动,定时,事件驱动;
如果同步到一个全新的可以选择开启覆盖模式
启用规则
-
原 harbor 管理页面 -> 系统管理 -> 复制管理,选择刚刚创建的规则,点击复制按钮,启动同步任务
-
登录新harbor 管理页面,对比新旧harbor的项目数量,镜像仓库,已使用的存储空间,检查镜像是否同步完成
image-syncer 工具迁移
如果量级比较大,类型比较多的 镜像仓库间互相同步,可参考 阿里开源的image-syncer 工具 https://github.com/AliyunContainerService/image-syncer