type
status
date
slug
summary
category
tags
create_time
Jul 14, 2025 07:57 AM
icon
password
my_create_time
📝 前言
最近几期都在介绍 DevOps 专题,在 DevOps 自动化流程中最终都是要生成一个制品以供部署,现在通常这个制品一般都是 Docker 镜像。
如何使得镜像在其他环境任意部署,这个就需要使用到镜像仓库来进行存储和分发了。
总的来说镜像仓库是 DevOps 流程中不可或缺的一部分,这也是本篇需要介绍 Harbor 的原因。
❓ 什么是 Harbor
Harbor 是一个由 CNCF(Cloud Native Computing Foundation)孵化并托管的企业级云原生镜像仓库,用于存储、管理和分发容器镜像与 Helm Chart。
它在 Docker Registry 的基础上进行了增强,增加了身份认证、访问控制、安全扫描、镜像签名、复制策略等功能。
Harbor 支持多种身份集成方式(如 LDAP、OIDC),并且可以通过镜像复制在多地同步镜像,非常适合部署在私有云、本地数据中心或边缘计算环境中。
PS:虽然 Gitea 本身也有自带镜像仓库,但毕竟不如
Harbor
专业,功能也少很多。🔍 使用场景
Harbor 不仅是一个容器镜像仓库,更是 DevOps 流水线中不可或缺的基础设施组件。
以下是 Harbor 在 DevOps 各阶段中的常见使用场景:
- 持续集成(CI)阶段
Gitea Actions / Jenkins 等工具在完成镜像构建后,自动将镜像推送至 Harbor。
- 结合镜像签名进行合规验证
使用 Notary 为镜像签名,防止被篡改。
- 持续部署(CD)阶段
Kubernetes 集群直接从 Harbor 拉取镜像,用作部署或滚动升级。
- 多地部署与镜像复制
主数据中心部署一个 Harbor 主仓库,边缘节点或 DR 站点通过镜像复制进行同步。
这也是一个很实用的功能。
- 镜像自动清理
支持配置保留策略,设置保留最新 N 个版本或最近使用的镜像,避免仓库存储空间无限膨胀,提高资源利用率。
📋 前提条件
部署前请确保你已具备以下环境:
- 有一台可用的 Linux 服务器(推荐使用 Ubuntu 24.04 或以上的 LTS 版 )
- 已安装 Docker 和 Docker Compose (可参看文章《Docker 与 Docker Compose 安装部署》)
🚀 详细步骤
1️⃣ 下载 Harbor 离线安装包
使用离线安装要更快,执行以下命令进行下载并解压:
2️⃣ 配置 Harbor
进入到解压目录后,执行以下命令复制一份配置文件:
编辑配置文件内容:
其他保持默认就可以了,当然您也可以根据自己需要进行调整。
3️⃣ 安装 Harbor
Harbor 的安装很简单,直接执行
install.sh
即可,如下:需要注意的是这里会占用80端口,请检查本机是否已安装并启动过 nginx,若有则需关闭或修改harbor http port 端口号配置。
安装成功后,你可以通过浏览器访问
hostname
中配置的地址进入管理后台。默认账号密码为 admin / Harbor12345
4️⃣ 配置 Docker 使用 Harbor 仓库
由于 Docker 默认是以
https
协议访问镜像仓库,而我们的仓库用的是 http,因此需要修改 Docker 的配置以支持 http 协议。编辑
/etc/docker/daemon.json
,若不存在则新建:PS:如果是直接使用
Gitea
的镜像仓库也是需要添加这一步,只需要添加Gitea实例的地址即可。最后重启 Docker 生效:
5️⃣ 使用 Harbor
使用 docker 命令登录 Harbor:
推送镜像:
PS:使用 Gitea 镜像仓库也是同理,将
hostname
改为Gitea实例地址,将library
替换为用户名即可。6️⃣ 配置镜像清理策略
一般在开发、测试环境中建议一定要配置镜像清理,否则由于构建频繁很快磁盘就会被撑爆。
通过 Web 登录进入Habor,选择需要清理的项目 → 策略 → 添加规则:

我一般是选择保留最近推送的5个,你也可以根据自己的喜好配置保留规则:

配置完该规则后还没完,还需要配置垃圾回收(GC),否则
磁盘空间不会释放
。进入系统管理 → 清理服务 → 垃圾清理,配置定时任务执行时间,如我这里配置的是每周,如果构建更为频繁也可以配置为每天:

✅ 总结
通过本文的讲解,我们成功完成了 Harbor 的离线部署、基础配置以及镜像清理策略,构建起一个功能完善、可在局域网或私有环境中稳定运行的企业级镜像仓库。
Harbor 不仅支持镜像存储与管理,还提供了访问控制、镜像签名、复制策略、垃圾回收等高级功能,是 DevOps 流水线中不可或缺的重要一环。
希望本文对你在本地搭建镜像仓库的实践有所帮助,如有问题欢迎留言交流。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/offline-deploy-harbor-registry
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。