一、Harbor 日常使用从项目开始¶
在 Harbor 中,项目是管理镜像的核心边界。镜像上传、访问控制、成员协作和配额限制,几乎都围绕项目展开。
1.1 新建项目¶
创建项目的基本动作非常直接:
- 点击
新建项目 - 填写项目名称
- 选择项目配额和访问级别
界面示意:


其中有两个很值得注意的点:
- 项目配额为
-1通常表示不限制 - 访问级别分为公开和私有,私有项目更适合企业内协作
二、如何上传和下载 Harbor 镜像¶
2.1 上传镜像到 Harbor¶
上传前,客户端需要先登录 Harbor:
docker login -uadmin -p<your-password> http://10.0.0.13
然后把本地镜像重新打 tag:
docker tag registry.cn-hangzhou.aliyuncs.com/zq-demo/nginx:1.21.6 \
10.0.0.13/project001/nginx:1.21.6
再执行推送:
docker push 10.0.0.13/project001/nginx:1.21.6
推送成功后,可以在 Harbor 项目页面中验证:

另外,项目内的“推送命令”入口通常也能直接生成对应命令:

2.2 从 Harbor 下载镜像¶
拉取镜像也很直接:
docker pull 10.0.0.13/project001/nginx:1.21.6
镜像被成功拉取后,Harbor 页面里通常能看到下载次数变化:

三、用户和成员管理为什么很重要¶
Harbor 适合企业场景,一个重要原因就在于它的用户和项目成员管理能力。
3.1 创建用户¶
操作路径通常是:
系统管理用户管理- 填写信息并确认创建

3.2 给项目添加成员¶
为项目添加成员的典型流程是:
- 进入目标项目
- 打开
成员 - 点击
+用户 - 选择具体用户并授予角色
相关界面:



原始笔记中给出的经验很实用:
- 运维角色一般可赋予维护人员
- 开发角色一般可赋予开发者
四、为什么要给 Harbor 配保留策略和清理服务¶
仓库如果长期不治理,最容易出现的问题就是:
- 镜像堆积太多
- 历史产物长期不清理
- 磁盘空间越来越紧张
- 日志持续膨胀
因此 Harbor 的策略和清理服务非常关键。
4.1 项目策略¶
Harbor 支持为项目设置保留规则,例如:
- 仅保留最近推送的若干个 artifacts
- 按 Tag 匹配规则进行保留
- 配合定时执行周期自动清理
原始示例里提到一个重要原则:多个策略之间是“或”的关系,满足其中之一即可保留。
相关界面:



4.2 垃圾清理与日志轮替¶
垃圾清理通常用于回收不再引用的镜像数据,日志轮替则用于控制日志文件体积。
原始示例里给出了每周六凌晨 1 点执行的思路:
0 0 1 * * 6
界面示意:


五、项目配额怎么理解更合适¶
项目配额是 Harbor 里非常重要的资源治理能力。
5.1 修改默认项目配额¶
默认项目配额通常只对新建项目生效:


5.2 修改已有项目配额¶
已经存在的旧项目,需要单独修改:


这个能力特别适合多团队共用 Harbor 的场景,能避免单个项目无限制占用仓库空间。
六、复制管理为什么是 Harbor 的高级能力¶
Harbor 除了本地存储镜像,还支持与外部仓库做镜像复制。这对混合云、跨仓库同步和镜像分发来说非常重要。
6.1 先配置目标仓库¶
在复制管理前,通常要先新建目标仓库,例如 ACR:


这里有一个非常重要的安全提醒:实际环境中不要在文档和截图里暴露真实 AccessKey ID 和 Secret,应该使用专用最小权限凭证,并妥善保管。
6.2 创建拉取型和推送型复制规则¶
Harbor 可以配置:
Pull-based:把外部镜像同步到本地Push-based:把本地镜像同步到目标仓库
相关界面:





七、删除项目之前为什么常常要先清成员¶
Harbor 删除项目时,并不总是一步完成。原始示例里就提到,删除前通常需要先处理项目成员等关联对象。
相关界面:


这也说明 Harbor 不只是镜像仓库,它更像一套完整的仓库管理平台。
八、把 Harbor 从“能用”推进到“好用”¶
如果把 Day005 后半部分浓缩成一个落地思路,可以概括为:
- 先建项目
- 再完成镜像上传下载闭环
- 然后补用户和成员协作
- 再配置保留策略、清理服务和配额
- 最后根据需要接入复制管理
做到这一步,Harbor 就不再只是一个放镜像的地方,而是开始真正承担企业级镜像资产管理平台的职责。