docker pull/push。你可以直接在新 Harbor 的网页后台配置一个“拉取”任务,让新 Harbor 自动去老 Harbor 把所有东西“搬”过来。以下是保姆级的图文操作步骤(我们在**新 Harbor** 的界面上进行操作):
第一步:在新 Harbor 中添加“老 Harbor”为目标仓库
首先,我们要让新 Harbor 知道老 Harbor 的地址和账号密码。
1. 登录你新搭建的 Harbor 网页后台。
2. 在左侧系统管理菜单中,点击 仓库管理 (Registries)。
3. 点击 新建目标 (New Endpoint) 按钮。
4. 填写配置信息:
- 提供者 (Provider):选择 Harbor。
- 名称 (Name):随便填,比如 Old-Harbor。
- 目标 URL (Endpoint URL):填写老 Harbor 的访问地址(例如 https://old-harbor.你的域名.com 或 http://IP:端口)。
- 访问 ID (Access ID):填写老 Harbor 的管理员账号(通常是 admin)。
- 访问密码 (Access Secret):填写老 Harbor 的管理员密码。
- 验证远程证书 (Verify Remote Cert):如果你的老 Harbor 使用的是自签名的 HTTPS 证书或者是纯 HTTP,请把这个勾去掉,否则会报错。
5. 点击右下角的 测试连接 (Test Connection)。如果提示成功,再点击 确定 (OK) 保存。
---
第二步:创建全量迁移(复制)规则
现在新 Harbor 已经连上老 Harbor 了,我们要下达“搬家”指令。
1. 在左侧系统管理菜单中,点击 复制管理 (Replications)。
2. 点击 新建规则 (New Rule)。
3. 按照以下设置进行填写:
- 名称 (Name):随便填,比如 Migrate-All。
- 复制模式 (Replication mode):选择 Pull-based (从远端拉取)。(注:这代表新 Harbor 主动去老 Harbor 拉取数据)
- 源资源 (Source registry):下拉选择你刚才在第一步建好的 Old-Harbor。
- 源资源过滤器 (Filters):全部留空! 留空就代表匹配所有的项目、所有的镜像、所有的版本标签(全量同步)。
- 触发模式 (Trigger Mode):选择 Manual (手动)。(因为我们只是用来做一次性搬家迁移)。
- 覆盖 (Override):勾选上。(如果遇到同名镜像直接覆盖)。
4. 点击 保存 (Save)。
---
第三步:一键执行迁移
1. 在“复制管理”列表中,选中你刚才建好的 Migrate-All 规则。
2. 点击上方的 执行 (Replicate) 按钮。
3. 系统会弹窗确认,点击确定。
4. 在页面下方的 执行记录 (Executions) 列表中,你可以看到任务的进度。点击该任务的 ID,还能看到具体正在同步哪个镜像的详细日志(成功会显示 Success)。
*(由于你是跨服务器拉取,速度取决于两台服务器之间的网络带宽,请耐心等待任务进度达到 100%。)*