Harbor仓库的搭建

Harbor仓库的基本搭建方法

https的harbor登录方式
由于docker在与harbor连接时默认使用的是https连接方式,如果是http协议的harbor,docker与harbor连接时就需要修改配置文件了,如果有多个harbor仓库或者多台装有docker的主机,那修改起来就比较麻烦了。此外,每次修改之后还需要重启docker,与此同时,每次重启docker也相当于必须把所有容器都重启了一遍,着实不太规范,况且在生产环境中多是使用https提高安全性。因此为了测试使用,在这里使用自签名证书。

1、创建CA证书
首先创建个目录存放需要存放的CA证书。

mkdir -p /root/ca

cd /root/ca

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt /证书创建命令

其中:(req:申请证书签署请求;-newkey 新密钥 ;-x509:可以用来显示证书的内容,转换其格式,给CSR签名等X.509证书的管理工作,这里用来自签名。)
之后出现的一连串要填信息的提示,可填可不填,如果不填就一路回车知道出现Common Name 输入IP或域名。

Common Name (eg, your name or your server's hostname) []:192.168.3.24

2、生成证书声明请求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout 192.168.3.24.key -out 192.168.3.24.csr

当出现Common Name 时输入IP或域名

Common Name (eg, your name or your server's hostname) []:192.168.3.24

3、生成证书

echo subjectAltName = IP:192.168.3.24 > extfile.cnf

openssl x509 -req -days 365 -in 192.168.3.24.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out 192.168.3.24.crt

4、配置harbor.yml文件(新版harbor从cfg文件升级到了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: 192.168.3.24 /域名或ip

http related config

http:

port for http, default is 80. If https enabled, this port will redirect to https port

port: 80

https related config

https: /这里使用https协议

https port for harbor, default is 443

port: 443

The path of cert and key files for nginx

certificate: /root/ca/192.168.3.24.crt /crt位置
private_key: /root/ca/192.168.3.24.key /key的位置

5、配置启动harbor

docker-compose down

./prepare

docker-compose up –d

如果之前没安装过harbor,也可以在harbor目录里执行 ./install.sh。

6、拷贝CA证书
在docker login harbor仓库前,需要在每台docker客户端中添加信任,将生成的ca.crt拷贝到宿主机中对应文件夹当中。

mkdir -p /etc/docker/certs.d/192.168.3.24

cp /root/ca/ca.crt /etc/docker/certs.d/192.168.3.24/ca.crt /拷贝到本机上

sudo scp -r root@192.168.3.xx:/root/ca/ca.crt /etc/docker/certs.d/192.168.3.24/ca.crt /拷贝到别的机器上

7、测试

docker login 192.168.3.24

输入用户名密码,查看是否可以连接成功,正常情况下都能成功,如果不行就重启下docker。

docker pull 192.168.3.24/public/nginx:v1

如果能在任意一台加了证书信任的机器上docker pull镜像成功的话,就说明具有https协议的harbor配置成功了。

Harbor仓库的同步管理

1、创建项目

首先,得准备两台及以上的节点搭建好harbor仓库,我在这里使用的是 192.168.3.23与192.168.3.24两台主机作为harbor服务节点,harbor版本为最新的1.9。
![6B(5{PC[93KBZSHMRSY6BP.png

![6B(5{PC[93KBZSHMRSY6BP.png

以public项目为例,现在要将192.168.3.23的harbor里的镜像同步到192.168.3.24的harbor中去。

192.168.3.23/public


Y_@4$EN9TCEIN3UVNG3(VN5.png

192.168.3.24/public
![Q4CK2O3)RZQT2E7BWA9L}9.png

2、仓库管理

点击仓库管理,选择新建项目,在项目内可选择目标的提供者,目标URL(即你需要连接的仓库地址),在输入账户密码后如果能测试连接成功,则说明两个harbor可以进行对接。
![TVSAJ}O1SQ5@7JY70O1H1B.png](https://upload-images.jianshu.io/upload_images/20887752-de230bcd10021d35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![7WI(]ZN9J3`(R6CIT6{Q5.png

3、同步管理

点击同步管理,选择新建规则,这里有两种同步模式,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)

保存之后,选择同步,稍等一会就看到同步成功了。


ANYF0FL{UBSXX0UU7NE`I66.png](https://upload-images.jianshu.io/upload_images/20887752-bb06ddd827a81488.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![T83JTXAA0ZINQ%_A``BI`_S.png

现在到192.168.3.24的harbor中去查看,发现镜像已经同步过来了。
![O@MSW5NZ24{1XX2MX$F_RF.png

![O@MSW5NZ24{1XX2MX$F_RF.png

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容