Harbor仓库的搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harbor仓库的搭建相关的知识,希望对你有一定的参考价值。
参考技术A Harbor仓库的基本搭建方法https的harbor登录方式
由于docker在与harbor连接时默认使用的是https连接方式,如果是http协议的harbor,docker与harbor连接时就需要修改配置文件了,如果有多个harbor仓库或者多台装有docker的主机,那修改起来就比较麻烦了。此外,每次修改之后还需要重启docker,与此同时,每次重启docker也相当于必须把所有容器都重启了一遍,着实不太规范,况且在生产环境中多是使用https提高安全性。因此为了测试使用,在这里使用自签名证书。
1、创建CA证书
首先创建个目录存放需要存放的CA证书。
其中:(req:申请证书签署请求;-newkey 新密钥 ;-x509:可以用来显示证书的内容,转换其格式,给CSR签名等X.509证书的管理工作,这里用来自签名。)
之后出现的一连串要填信息的提示,可填可不填,如果不填就一路回车知道出现Common Name 输入IP或域名。
Common Name (eg, your name or your server's hostname) []:192.168.3.24
2、生成证书声明请求
当出现Common Name 时输入IP或域名
Common Name (eg, your name or your server's hostname) []:192.168.3.24
3、生成证书
4、配置harbor.yml文件(新版harbor从cfg文件升级到了yml文件)
hostname: 192.168.3.24 /域名或ip
https: /这里使用https协议
port: 443
certificate: /root/ca/192.168.3.24.crt /crt位置
private_key: /root/ca/192.168.3.24.key /key的位置
5、配置启动harbor
如果之前没安装过harbor,也可以在harbor目录里执行 ./install.sh。
6、拷贝CA证书
在docker login harbor仓库前,需要在每台docker客户端中添加信任,将生成的ca.crt拷贝到宿主机中对应文件夹当中。
7、测试
输入用户名密码,查看是否可以连接成功,正常情况下都能成功,如果不行就重启下docker。
如果能在任意一台加了证书信任的机器上docker pull镜像成功的话,就说明具有https协议的harbor配置成功了。
首先,得准备两台及以上的节点搭建好harbor仓库,我在这里使用的是 192.168.3.23与192.168.3.24两台主机作为harbor服务节点,harbor版本为最新的1.9。
![6B(5PC[93KBZSH MRSY6BP.png
![6B(5PC[93KBZSH MRSY6BP.png
以public项目为例,现在要将192.168.3.23的harbor里的镜像同步到192.168.3.24的harbor中去。
192.168.3.23/public
192.168.3.24/public
![Q4CK2O3 )RZQT2E7BWA9L9.png
点击仓库管理,选择新建项目,在项目内可选择目标的提供者,目标URL(即你需要连接的仓库地址),在输入账户密码后如果能测试连接成功,则说明两个harbor可以进行对接。
![TVSAJO1SQ5@7JY70O1H1 B.png](https://upload-images.jianshu.io/upload_images/20887752-de230bcd10021d35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![7WI(]Z N9J3`(R6 CIT6Q5.png
点击同步管理,选择新建规则,这里有两种同步模式,push-based 以及pull-based,在这里选择的是push-based,将对"harbor23"中已上传的镜像在"harbor24"中进行同步复制。可以通过名称、tag、标签对需要同步的
镜像资源进行筛选过滤,选择在上一步添加并测试连接成功的仓库(即"harbor24"),Namespace可选择将镜像同步到目的仓库的某个项目(如果不填,则同步到名字相同的项目中)。触发模式有手动、定时、事件驱动三种。
![]DDOMQ%%$TEB(4BZFM36F7.png]( https://upload-images.jianshu.io/upload_images/20887752-b4b56633fe1d16e9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
保存之后,选择同步,稍等一会就看到同步成功了。
现在到192.168.3.24的harbor中去查看,发现镜像已经同步过来了。
![O@MSW5NZ241X X2MX$F_RF.png
![O@MSW5NZ241X X2MX$F_RF.png
以上是关于Harbor仓库的搭建的主要内容,如果未能解决你的问题,请参考以下文章
Docker------搭建本地私有仓库及Horbor私有仓库