news 2026/9/30 7:55:51

Harbor私有镜像仓库部署及使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Harbor私有镜像仓库部署及使用教程

文章目录

    • 一、引言
    • 二、安装部署
      • 2.1 下载离线包
      • 2.2 执行安装
    • 三、Web管理
      • 3.1 创建项目
      • 3.2 管理用户
    • 四、镜像推送与拉取
      • 4.1 配置本地Docker客户端
      • 4.2 登录Harbor
      • 4.3 推送镜像到Harbor
      • 4.4 从Harbor拉取镜像
    • 五、镜像复制与同步
      • 5.1 添加目标仓库
      • 5.2 创建复制规则
    • 六、总结
    • 参考文献

一、引言

在微服务架构与分布式部署成为主流的今天,Docker镜像的高效管理与安全分发已成为企业DevOps流程中的核心环节。Harbor是一个开源的企业级容器镜像仓库服务,用于安全地存储、分发和管理Docker容器镜像、Helm Chart等符合OCI标准的制品。它最初由VMware于2014年开发,2016年开源,2018年成为CNCF(云原生计算基金会)沙箱项目,并于2020年6月正式成为CNCF毕业项目。它在Docker Registry的基础上,增加了RBAC权限控制、Trivy镜像漏洞扫描、Cosign/Notary镜像签名、跨仓库镜像复制、审计日志等企业级功能。本教程主要面向企业内网环境下的Harbor私有镜像仓库部署和使用需求,涵盖从离线安装到基础应用的完整实践路径。

二、安装部署

2.1 下载离线包

内网环境下需要下载离线安装包完成Harbor安装。对于amd64(x86)架构,直接从Harbor官网下载最新版离线安装包(Assets);对于ARM64架构,使用如下命令下载V2.10.2版本的AARCH64离线安装包:

# 下载离线镜像包dockerpull alanpeng/harbor_images_aarch64:v2.10.2# 创建一个新的容器实例TEMP_CONTAINER_ID=$(dockercreate alanpeng/harbor_images_aarch64:v2.10.2 /bin/true)# 从容器中拷贝文件dockercp$TEMP_CONTAINER_ID:/harbor-offline-installer-aarch64.tgz ./harbor-offline-installer-aarch64.tgz# 删除容器实例dockerrm$TEMP_CONTAINER_ID

2.2 执行安装

解压离线包并创建配置文件。

tarzxf harbor-offline-installer-aarch64.tgzcdharborcpharbor.yml.tmpl harbor.yml

修改配置文件harbor.yml:

vimharbor.yml

常用配置项如下:

# The IP address or hostname to access admin UI and registry service.# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.hostname:<hostname># Harbor部署服务器IP# http related confighttp:# port for http, default is 80. If https enabled, this port will redirect to https portport:<port># https related config# 内网环境下通常使用HTTP协议即可,因此可以注释或删除HTTPS相关内容# https:# https port for harbor, default is 443# port: 443# The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path# enable strong ssl ciphers (default: false)# strong_ssl_ciphers: false# The initial password of Harbor admin# It only works in first time to install harbor# Remember Change the admin password from UI after launching Harbor.harbor_admin_password:<admin_password># 默认为Harbor12345

配置完成后,执行安装脚本:

sudo./install.sh

安装过程会自动加载离线镜像并启动所有服务。详细安装流程及完整配置说明可参考官方文档。

三、Web管理

3.1 创建项目

打开浏览器,登录http://<hostname>:<port>进入Harbor Web UI,用户名为admin,初始密码为配置文件中设置的<admin_password>(默认为Harbor12345)。

点击"新建项目",填写项目名称,选择访问级别。

3.2 管理用户

Harbor默认自带一个超级管理员admin,如果有多用户需求,则需要先创建用户。创建用户以后,就可以将用户添加到具体项目中,实现权限控制,默认的超级管理员是所有项目的项目管理员。

点击 “用户管理”,创建新用户。

选择一个项目,在成员界面将用户添加进该项目,并设置角色权限。

角色权限说明如下:

角色权限
项目管理员项目管理、成员管理、策略配置
维护人员推送/拉取镜像、查看日志
开发人员推送/拉取镜像
访客仅拉取镜像
受限访客仅拉取(需额外授权)

四、镜像推送与拉取

4.1 配置本地Docker客户端

若Harbor使用HTTPS协议,可跳过此步;若使用HTTP协议,由于Docker默认要求仓库使用HTTPS,需要配置Docker信任该Harbor仓库,否则Docker客户端会拒绝连接。

对于Linux系统,创建或修改/etc/docker/daemon.json文件;对于Windows或Mac系统,创建或修改~/.docker/daemon.json文件。修改内容如下:

{"insecure-registries":["<hostname>:<port>"]}

修改配置文件后,需重启Docker客户端才能生效。Linux系统执行如下命令(现有运行中容器不会受影响):

systemctl reloaddocker

Windows或Mac系统直接重启Docker Desktop。

执行如下命令检查配置是否生效:

dockerinfo|grep-A5"Insecure Registries"

若输出内容中包含<hostname>:<port>则说明配置已生效。

4.2 登录Harbor

dockerlogin<hostname>:<port>-u<username>-p<password>

输出Login Succeeded表示成功。上述命令会将密码保存在 ~/.docker/config.json 中,生产环境建议使用docker login --password-stdin或配置凭证助手。

4.3 推送镜像到Harbor

# 给本地镜像打标签dockertag<image>:<image_tag><hostname>:<port>/<harbor_project>/<image>:<image_tag># 推送镜像dockerpush<hostname>:<port>/<harbor_project>/<image>:<image_tag>

登录Harbor Web UI,进入项目即可查看已推送的镜像。

4.4 从Harbor拉取镜像

dockerpull<hostname>:<port>/<harbor_project>/<image>:<image_tag>

五、镜像复制与同步

Harbor支持跨仓库镜像复制与同步,首先配置好远程仓库地址和对应的匹配规则,然后就可以把本地仓库镜像同步到远程仓库,实现镜像备份和高可用功能。

5.1 添加目标仓库

点击 “仓库管理” → “新建目标”,选择提供商(Harbor/Docker Hub/AWS ECR/阿里云ACR等),填写目标地址和访问凭证。

5.2 创建复制规则

点击"复制管理" → “新建规则”。

各配置项说明如下:

配置项说明
名称规则名称
复制模式Push-based(推送到远端)/Pull-based(从远端拉取)
源资源过滤器按项目名、仓库名、标签过滤
目标仓库目标Harbor或其他仓库(Docker Hub、ACR、GCR等)
触发模式手动/定时/事件触发(推送时自动复制)

六、总结

Harbor是一个企业级镜像仓库管理服务,在安全性、可管理性和扩展性上为微服务容器化交付提供了坚实底座。本教程面向内网离线部署业务场景,覆盖了从安装包获取、HTTP配置、Web项目与用户管理,到镜像推送拉取及跨仓库同步的日常运维操作链路。Harbor的功能远不止于此,还包括漏洞扫描、代理缓存等高级应用,值得深入学习和探索。

参考文献

[1] https://goharbor.io/docs/2.15.0/install-config
[2] https://github.com/mgl-pub/build-harbor-aarch64
[3] https://cloud.tencent.com/developer/article/2474843
[4] https://blog.csdn.net/sinat_17584329/article/details/159171648
[5] https://ask.csdn.net/questions/9760180

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 7:54:31

基于SpringBoot+VUE的急救常识学习小程序

一、毕业设计&#xff08;论文&#xff09;的内容本论文主要论述了如何使用 JAVA 语言开发一个垃圾分类网站 &#xff0c;本系统将严格按照软件开发流程 进 行各个阶段的工作&#xff0c; 采用 B/S 架构&#xff0c; 面向对象编程思想进行项目开发。在引言中&#xff0c; 作者将…

作者头像 李华
网站建设 2026/9/30 7:54:22

银河麒麟V10源码编译SVN 1.8.14:依赖编译与配置避坑指南

简介&#xff1a;本资源面向在银河麒麟操作系统上部署版本控制服务的运维与开发人员&#xff0c;聚焦于从源码编译搭建完整SVN环境这一典型场景&#xff0c;帮助读者解决国产化平台下组件依赖复杂、配置项繁多的问题。压缩包内共1个docx文档&#xff0c;约202KB&#xff0c;以图…

作者头像 李华
网站建设 2026/9/30 7:52:06

COSCon 首日观察:开源生态转向协作与信任,AI和云原生成技术焦点

算起来&#xff0c;这已经是第十个年头了。从最初几百人的技术聚会&#xff0c;到如今横跨多个城市、线上线下联动的年度盛事&#xff0c;COSCon 见证了中国开源社区从萌芽到繁茂的全过程。作为每年必到的老面孔&#xff0c;我在首日开场前半小时到场时&#xff0c;发现签到台前…

作者头像 李华
网站建设 2026/9/30 7:51:26

Agent 多智能体编排工程笔记

摘要:单个 agent 做不完的任务,要拆给一批 agent 协同。这篇文章不复述某一家框架怎么用,而是把多智能体编排共有的机制拆开——控制流怎么走、agent 之间怎么通信、共享状态放在哪、下一步交给谁、什么时候停、结果怎么合。机制之上,看两种主流范式、几种常见拓扑,以及把…

作者头像 李华
网站建设 2026/9/30 7:51:08

从td_error到clip:Actor-Critic与PPO推导及避坑指南

简介&#xff1a;这份PDF资料围绕强化学习中Actor-Critic框架与PPO算法展开&#xff0c;面向已具备神经网络与梯度下降基础、希望深入理解策略梯度与近端策略优化的学习者。内容从Actor网络选动作、Critic网络评估状态价值入手&#xff0c;推导td_error、优势函数与重要性采样&…

作者头像 李华