前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Harbor docker 部署安装

Harbor docker 部署安装

作者头像
小石头
发布于 2022-11-10 13:33:51
发布于 2022-11-10 13:33:51
1.3K00
代码可运行
举报
文章被收录于专栏:小石头小石头
运行总次数:0
代码可运行

GitHub

goharbor/harbor

harbor的简介

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

Harbor特性

基于角色的访问控制 :用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

镜像复制 : 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云多云的场景。

图形化用户界面 : 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

AD/LDAP 支持 : Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。

审计管理 : 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

国际化 : 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。

RESTful API : RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。

部署简单 : 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。

Harbor组件,Harbor在架构上主要由6个组件构成:

Proxy:Harbor的registry, UI, token等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。

Registry: 负责储存Docker镜像,并处理docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务,强制用户的每次docker pull/push请求都要携带一个合法的token, Registry会通过公钥对token 进行解密验证。

Core services: 这是Harbor的核心功能,主要提供以下服务:

UI:提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权。

webhook:为了及时获取registry 上image状态变化的情况, 在Registry上配置webhook,把状态变化传递给UI模块。

token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向Regiøstry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求。

Database:为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。

Job Services:提供镜像远程复制功能,可以把本地镜像同步到其他Harbor实例中。

Log collector:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

各个组件之间的关系如下图所示:

harbor的安装

安装Harbor需要先安装docker和docker-compose,docker安装参考本作者前面的博客,

docker-compose的安装,先下载二进制文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予二进制文件可执行权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod +x /usr/local/bin/docker-compose

测试是否安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 ~]# docker-compose --version
docker-compose version 1.23.2, build 1110ad01

开始安装harbor,安装方式分为在线安装和离线安装两种方式这里我们安装v2.3.4版本的

(下载地址:https://github.com/goharbor/harbor/releases)

如果选择在线安装直接wget就可以,此处我们采用离线安装(offline-installer),直接下载安装包然后解压

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 ~]# tar zxf harbor-offline-installer-v2.3.4.tgz 
[root@server1 ~]# cd harbor/
[root@server1 harbor]# ls
common.sh  harbor.v2.3.4.tar.gz  harbor.yml  install.sh  LICENSE  prepare

然后我们编辑harbor,yml文件,修改hostname、https证书路径、admin密码(管理员账号和密码)

hostname:reg.westos.org

certificate:/root/certs/reg.westos.org.crt

private_key:/root/certs/reg.westos.org.key

harbor_admin_password:Harbor12345

修改完成后编译运行查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 harbor]# ./prepare 
[root@server1 harbor]# ./install.sh 

访问测试

浏览器访问https://reg.westos.org:

登录成功后

新建一个项目,命名为 westos,并设置访问级别为公开。

镜像的上传和拉取

修改文件 /etc/docker/daemon.json然后重启

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 harbor]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://ioeo57w5.mirror.aliyuncs.com"]
}
{
"insecure-registries": ["reg.westos.org"]
}

systemctl daemon-reload systemctl restart docker

  1. 制作镜像(标记本地Ubuntu镜像,将其归入某一仓库。)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker tag ubuntu:latest reg.westos.org/westos/ubuntu:latest

进行本机上传

首先登录私有库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 harbor]# docker login reg.westos.org
Username: admin
Password:             
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

然后上传

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 harbor]# docker push reg.westos.org/westos/ubuntu

然后查看上传结果

通过结果发现上传成功

然后我们先删除原先的镜像直接拉取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server1 harbor]# docker rmi reg.westos.org/westos/ubuntu        
Untagged: reg.westos.org/westos/ubuntu:latest
Untagged: reg.westos.org/cl/ubuntu@sha256:e5dd9dbb37df5b731a6688fa49f4003359f6f126958c9c928f937bec69836320
[root@server1 harbor]# docker pull reg.westos.org/westos/ubuntu            
Using default tag: latest
latest: Pulling from westos/ubuntu
Digest: sha256:e5dd9dbb37df5b731a6688fa49f4003359f6f126958c9c928f937bec69836320
Status: Downloaded newer image for reg.westos.org/westos/ubuntu:latest
reg.westos.org/westos/ubuntu:latest

然后我们准备另一台主机server2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# cat /etc/hosts
172.25.74.1     server1 reg.westos.org    #做好解析

daemon文件配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://reg.westos.org"]
}

建立证书目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]#  mkdir -p /etc/docker/certs.d/reg.westos.org

把crt证书放到/etc/docker/certs.d/harbor.dinginfo.com目录下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# ls /etc/docker/certs.d/reg.westos.org
reg.westos.org.crt

然后,重启docker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload
systemctl restart docker

然后我们直接登录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# docker login reg.westos.org
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

上传镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# docker tag nginx:latest reg.westos.org/westos/nginx
[root@server2 ~]# docker push reg.westos.org/westos/nginx

网页端查看

说明上传成功

测试下载:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@server2 ~]# docker pull reg.westos.org/westos/ubuntu
Using default tag: latest
latest: Pulling from westos/ubuntu
5bed26d33875: Pull complete 
f11b29a9c730: Pull complete 
930bda195c84: Pull complete 
78bf9a5ad49e: Pull complete 
Digest: sha256:e5dd9dbb37df5b731a6688fa49f4003359f6f126958c9c928f937bec69836320
Status: Downloaded newer image for reg.westos.org/westos/ubuntu:latest
reg.westos.org/westos/ubuntu:latest
  • harbor配置成功
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
极狐会是下一个威马吗?
国庆之后,不少威马汽车车主在社交平台反映,“威马智行”和“小威随行”的蓝牙钥匙和远程控车功能网络异常无法使用,疑似后台已停服。同时,拨打威马汽车服务电话,也无人接听。
用户8049510
2023/11/21
2160
新能源格局初定,岚图还有机会吗?
从北汽到广汽,再到东风,传统汽车巨头布局新能源已经不是新鲜事,但能把新能源产业真正做起来的目前好像也就“网约车”定位的广汽埃安。
用户8049510
2024/01/08
1340
国产岚图入局高端智能电动车,对标特斯拉,放话一年内量产
但就在两个月前,一个新“拳手”正式登台,宣布入局中国高端新能源汽车战场。它就是岚图。
量子位
2020/09/30
4670
国产岚图入局高端智能电动车,对标特斯拉,放话一年内量产
皮卡“触电”,打响一场“认知战”
不久前,吉利旗下的雷达皮卡RD6正式上市,新车共分为悦野版,悦享版,创客版,启航版四款车型,价格分别是26.88万元、22.88万元、19.88万元、17.88万元。接着,雷达RD6在深圳紧锣密鼓地完成首批用户交车仪式。
用户2908108
2023/02/26
2990
皮卡“触电”,打响一场“认知战”
看数据评测买车不上当
近日,西安某车主因新车漏油退换车受阻,坐引擎盖上哭诉维权一事引发关注。当事人花66万买了新车,刚开出4S店就发现发动机漏油。相关话题热度自4月10日以来持续受到网民关注。
龙哥
2019/05/10
5870
看数据评测买车不上当
试驾后,我找到了智己交付最快破千的理由
在新能源汽车领域沉默已久的上汽,不久前推出了新产品智己L7。而自6月18日正式启动全国用户交付,至7月31日,智己汽车的首款旗舰车型-智己L7的累计交付量在不到一个半月时间里迅速突破1000台。
用户2908108
2022/12/17
2490
试驾后,我找到了智己交付最快破千的理由
新能源车会在未来取代燃油车已经成为了很多人的共识
新能源汽车,是目前全球汽车行业发展最为迅猛的代表。老牌车企面临转型,新品牌强势入驻。过去象征廉价的中国汽车,在新能源市场上获得了颇具代表性的成功,从整车到零部件都有了长足发展。2022年,中国车企要顺
电子交流圈
2022/03/22
2540
“鲨鱼”特斯拉的降维打击,理想、蔚来、小鹏只能跪地求饶?
这10个月的股价飙升,特斯拉的市值已经超过8000亿美金,特斯拉的大boss马斯克也成了全球首富。
用户2908108
2021/01/12
3350
高合汽车:“欲戴王冠,必承其重”
是单纯缺少沟通造成用户对产品理解的偏差,还是有意用“文字游戏”进行虚假宣传而涉嫌销售欺诈?最近,以“中国豪华品牌新的天花板”自称的高合汽车陷入了巨大的舆论风波,引发了社会层面的广泛关注。
后厂村
2022/07/11
2610
2020年造车新势力:几家欢喜,几家愁
资本追捧、技术加持,加之在赛道上的坚守,这些原本只想活下去的造车新势力们,最终在年底收到了回报。
镁客网
2020/12/18
3500
激光雷达「冰火两重天」:国外破产倒闭,国内上车提速,MPV都用上了
贾浩楠 发自 凹非寺 量子位 | 公众号 QbitAI 智能车领域又一个全球首例,诞生在中国 △ 全球首款量产搭载激光雷达的MPV 合创V09 激光雷达上车MPV,而且即将量产交付。 车,来自新势力合创汽车,激光雷达来则出自清华系创业公司探维科技。 激光雷达上车元年,是因为“日益增长的智能驾驶需求,和纯视觉系统进展不及预期”的矛盾。于是这一年我们看到了激光雷达轿车、跑车、SUV、商用车…… 激光雷达行业,在国内也跑出了2巨头+创业4强的格局。 但合创新车的亮相,仍然带来疑问:MPV需要激光雷达吗?什么样
量子位
2023/02/28
3440
激光雷达「冰火两重天」:国外破产倒闭,国内上车提速,MPV都用上了
堆料,新能源汽车走上智能手机老路
要说最近国产新能源汽车的话题王,自然是高合的新产品HiPHi Z。高达80万元的售价,直接让一众网友傻眼,直呼“凭什么”。
用户2908108
2022/12/17
3970
堆料,新能源汽车走上智能手机老路
新能源车又迎洗牌年:蔚来向左、埃安向右
油价上涨和电车涨价的消息接连传来,让不少车主陷入了两难境地:开油车有钱包焦虑,开电车有里程焦虑。虽然车主们百般纠结,但电车市场依旧形势大好,新能源汽车成为“市场宠儿”已是不争的事实了。
用户6132544
2022/04/20
2620
汽车大数据:女性消费者的崛起,低线城市爱豪车
<数据猿导读> 过去三年间汽车行业可谓沧海桑田,时下中国的汽车市场终于进入一个增速平稳、竞争更激烈的新常态,今天小编就带领大家细数一下这几年间我国汽车消费领域都发生了怎样的变化 在经历了多年的“大跃进
数据猿
2018/04/19
9180
汽车大数据:女性消费者的崛起,低线城市爱豪车
电动车企的2023:抱团活下去
今年以来在诸多政策助推之下,上半年国内的新能源汽车销量,并未出现业内预想的大幅下滑,反而一路上扬再创新高,国内自主品牌的市占率和品牌影响力持续扩大。与此同时,行业头部车企与尾部车企之间的差距,也在进一步拉大。
刘旷
2023/09/05
2040
智能汽车的高端盛宴
经过几年的发展演进,造车新势力日渐发展壮大,其在行业中的影响力也越来越大。它们的崛起一方面极大地加快了国内汽车行业的电动化进程,另一方面也迫使传统车企向电动化转型提速。
刘旷
2021/01/12
5600
广汽「埃安」,闷声发财
10月20日,广汽集团发布公告称,子公司广汽埃安(以下简称“埃安”)已完成A轮融资,共引入了53名战略投资者,融资总额182.94亿元,释放17.72%股份。同时,这笔金额也刷新了国内新能源整车行业最大单笔私募融资纪录。
镁客网
2023/01/04
2750
广汽「埃安」,闷声发财
什么是智能汽车的产品内核?张朝阳这堂物理课说清楚了
未来的世界是新能源汽车的,而新能源汽车的未来则属于智能汽车。来自中汽协的数据显示,2022年新能源汽车爆发式增长,全年产销迈入700万辆规模,分别达到705.8万辆和688.7万辆,同比分别增长96.9%和93.4%,增速远远甩开燃油车,市占率已达25.6%。在新能源汽车中,智能汽车占比越来越高,来自《赛博汽车》的数据则显示,2022年全年销售的新能源乘用车中,智能汽车占比已达45.94%,2022年12月智能汽车销量338214.5辆,同比上涨55.99%。
罗超频道
2023/02/27
3240
什么是智能汽车的产品内核?张朝阳这堂物理课说清楚了
智能驾驶供应商:华为向上,大疆向下
据麦肯锡预测,2025年智能汽车的市场规模将达到1.9万亿美元。在智能汽车市场持续释放利好之下,车企将成为最直接的利益既得者,但车厂一级供应商的收益也不容小觑。除了博世、大陆、电装等国际Tier1之外,华为、大疆等巨头也凭借供应商身份挤进智能汽车市场。
刘旷
2022/06/27
2950
豪华内饰真能“装饰”出智能汽车的未来?
从蒸汽机到内燃机再到电机,人们总是把汽车发展的焦点更多地给到动力、操控等关键词。然而从第一台汽车诞生起,车辆的设计就不是只围绕驾驶,而是驾乘的结合。
用户2908108
2022/12/17
1980
豪华内饰真能“装饰”出智能汽车的未来?
推荐阅读
相关推荐
极狐会是下一个威马吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档