Harbor私有仓库的部署
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,Harbor介绍Harbor是一个用于存储和分发Docker镜像的企业级Registry的服务器镜像仓库,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distrib
千家信息网最后更新 2025年02月07日Harbor私有仓库的部署
Harbor介绍
Harbor是一个用于存储和分发Docker镜像的企业级Registry的服务器镜像仓库,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有的Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
Harbor的优势
基于角色控制基于镜像的复制策略支持LDAP/AD图像删除和垃圾收集图形UI审计RESTful APIProxy通过一个前置的反向代理统一接受浏览器,Docker客户端的请求,并将请求转发给后端不同的服务Registry负责储存Docker镜像,并处理docker push/pull 命令Core servicesHarbor的核心功能,包括UI,webhook,token 服务Database为core service提供数据库服务Log collector负责收集其他组件的log,供日后进行分析
Docker私有仓库架构拓扑
用户请求通过Proxy反向代理访问Core services,UI提供web界面,token令牌,你第一次登录之后服务器会给你一串序列号,下次直接登录就行,你需要下载的镜像信息,属性,都存放在后面的database,再通过webhook回调去registry私有仓库调取镜像。这一系列的操作都存放在日志中。
-------------------------------搭建harbor私有仓库----------------------------------
harbor被部署为多个docker容器,因此可以部署在任何支持docker的linux的发行版上我们还需要docker-compose编排工具,编排工具执行了多个docker容器的操作
[root@localhost ~]# mount.cifs //192.168.100.25/compose /abc/Password for root@//192.168.100.25/compose: [root@localhost ~]# cd /abc/[root@localhost abc]# lsconsul_0.9.2_linux_amd64.zip consul-template_0.19.3_linux_amd64.zip docker-compose[root@localhost abc]# cp docker-compose /usr/local/bin/[root@localhost abc]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/[root@localhost abc]# cd /usr/local/[root@localhost local]# lsbin etc games harbor include lib lib64 libexec sbin share src[root@localhost local]# cd harbor/[root@localhost harbor]# lscommon docker-compose.yml harbor.v1.2.2.tar.gz NOTICEdocker-compose.clair.yml harbor_1_1_0_template install.sh preparedocker-compose.notary.yml harbor.cfg LICENSE upgradehostname = 192.168.136.185#开启私有仓库[root@localhost harbor]# sh /usr/local/harbor/install.sh[root@localhost harbor]# docker-compose ps#如果一切正常,可以打开浏览器访问http://192.168.136.185 的管理页面默认用户名密码是:admin,Harbor12345
我们先创建一个项目,我们的一类镜像可以放在里面
#我们本地进行上传镜像[root@localhost harbor]# docker login -u admin -p Harbor12345 http://127.0.0.1[root@localhost harbor]# docker pull cirros[root@localhost harbor]# docker tag cirros 127.0.0.1/chen/cirros:v1[root@localhost harbor]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE127.0.0.1/chen/cirros v1 bc94bceaae77 12 months ago 10.3MBcirros latest bc94bceaae77 12 months ago 10.3MB[root@localhost harbor]# docker push 127.0.0.1/chen/cirros:v1The push refers to repository [127.0.0.1/chen/cirros]abbd6d6ac643: Pushed 75b99987219d: Pushed 0cc237193a30: Pushed v1: digest: sha256:96137d51e0e46006243fa2403723eb47f67818802d1175b5cde7eaa7f19446bd size: 943
我们通过web界面查看一下镜像有没有上传成功
#远程客户端上传镜像到私有仓库#远程登录会报错[root@localhost ~]# docker login -u admin -p Harbor12345 http://192.168.136.185WARNING! Using --password via the CLI is insecure. Use --password-stdin.Error response from daemon: Get https://192.168.136.185/v2/: dial tcp 192.168.136.185:443: connect: connection refused#我们要指定私有仓库实列[root@localhost ~]# vim /usr/lib/systemd/system/docker.service 14 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.136.185 --containerd=/run/contai nerd/containerd.sock[root@localhost ~]# systemctl daemon-reload[root@localhost ~]# systemctl restart docker[root@localhost ~]# docker login -u admin -p Harbor12345 http://192.168.136.185#远程下载私有仓库的镜像[root@localhost ~]# docker pull 192.168.136.185/chen/cirros:v1#远程上传镜像到私有仓库[root@localhost ~]# docker push 192.168.136.185/chen/cirros:v2The push refers to repository [192.168.136.185/chen/cirros]abbd6d6ac643: Layer already exists 75b99987219d: Layer already exists 0cc237193a30: Layer already exists v2: digest: sha256:96137d51e0e46006243fa2403723eb47f67818802d1175b5cde7eaa7f
网页验证
#关闭harbor私有仓库[root@localhost harbor]# docker-compose down -v[root@localhost harbor]# ./prepare #开启私有仓库[root@localhost harbor]# docker-compose up -d
创建用户
#我们用刚才创建的用户来登录私有仓库[root@localhost harbor]# docker login http://192.168.136.185Username: chenPassword:
在项目中我们加入一个用户
如果要移除服务容器同时保留镜像数据库/数据库
docker-compose down -v
如需重新部署,需要移除harbor服务容器全部数据
/var/log/Harbor/目录下rm-rf /data/database/ /data/registry/
镜像
私有
仓库
服务
用户
数据
容器
登录
安全
企业
多个
数据库
服务器
支持
管理
功能
客户
工具
浏览器
特性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
田蕴章书法讲座解释服务器
极速互联软件开发
苹果手机贷软件开发源码
银行里的软件开发岗位
中央网络安全巡查小组
服务器web控制面板
数据库字典的作用举例
山东工控软件开发报价
数据库技术的利弊
联想服务器sr258 冗余电源
物流管理系统数据库下载
网络安全发言稿320
说说你对关系型数据库的理解
数据库开发面试题
二道区通用网络技术排名靠前
360网络安全优势
北京创本互动网络技术
优秀网络安全管理员事迹材料
魔力互联网科技公司
国行swith玩游戏需要服务器吗
服务器怎么看有没有开启镜像
上海常规软件开发要多少钱
数据库 事务 作用
服务器安全狗收费版
网络安全知识的主题
dns服务器无法通信
人工智能ai服务器拆解
大型数据库技术实验心得
网络安全训练营32讲
关于网络安全的竞赛