容器(6)--Docker 仓库--3.企业级Harbor仓库管理 (Harbor仓库介绍,搭建及使用)

Harbor企业级开源仓库

一 . Harbor仓库介绍

1) Harbor特性

基于角色的访问控制:用户和存储库是通过“项目”组织的,用户可以对多个镜像仓库统一命名空间拥有不同的权限。

镜像复制:可以基于具有多个Registry实例之间复制(同步)图像和图表。如果出现任何错误,Harbor会自动重试复制。非常适合于负载平衡、高可用性、多数据中心、混合和多云场景。

LDAP/AD支持:Harbor与现有企业LDAP/AD集成,用于用户身份验证和管理,并支持将LDAP组导入Harbor并为其分配适当的项目角色。

镜像删除和垃圾收集:镜像可以删除,其空间可以回收。

国际化:对多国语言支持(已拥有中文、英文、德文、日语和俄文);

图形化用户界面:用户可以轻松浏览、搜索存储库和管理项目。

审计管理:跟踪到存储库的所有操作。

RESTful API:用于大多数管理操作的RESTful API,易于与外部系统集成。一个嵌入式的Swagger用户界面可用于探索和测试API。

简单部署:提供在线和离线安装程序。此外,可以安装到vSphere平台的(OVA方式)虚拟设备。

2)Harbor 组件

proxy:Harbor的组件,如注册表、UI和令牌服务,都位于反向代理之后。代理将来自浏览器和Docker客户机的请求转发到各种后端服务。

Registry:负责存储Docker镜像和处理Docker推/拉命令。由于Harbor需要对映像进行访问权限控制,Registry将引导客户机访问令牌服务,以便为每个pull或push请求获取有效的令牌(token)。

Core Service:Harbor的核心功能,主要提供以下服务:
UI:提供图像化的图形用户界面,帮助人户管理镜像和对用户授权。
webhook: 为了及时获取registry上images的状态变化的情况,在Registry上配置webhook, 把状态变化传递UI模块;
Token令牌服务:负责根据用户在项目中的角色为每个docker push/pull命令颁发令牌。如果从Docker客户机发送的请求中没有令牌,注册表将把请求重定向到令牌服务。

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

Job Services:提供镜像远程负责功能,能把本地镜像同步到其他harbor实例当中。

Log Collector:为了帮助监控Harbor运行,负责手机其他组件的log,供日后分析。

image.png
image.png

二 .Harbor 安装搭建

第一步 安装Docker-compose

线上安装(网好)

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.1/docker- compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这一步国内不用加速器可能会比较慢!
Docker国内阿里云镜像加速传送门

image.png

Docker-compose官方安装文档链接
VMWare Harbor项目地址传送门

1.在配置文件添加镜像加速器,并重启docker

vim /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker

2.下载 docker-compose 并修改执行权限

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.1/docker- compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x  /usr/local/bin/docker-compose

docker-compose --version

第二步 下载harbor 安装包并安装

GitHub地址:https://github.com/goharbor/harbor/releases #下载1.9.4版本

cd /var/local 
rz harbor-offline-installer-v1.9.4.tgz 
tar xf harbor-offline-installer-v1.9.4.tgz
cd harbor

[root@docker harbor]# ./prepare 

然后运行install.sh安装脚本

[root@docker harbor]# ./install.sh

安装成功

image.png
image.png
image.png

补充:

q1

./install.sh   执行后 出现下面错误
image.png

解决:检查防火墙状态, 防火墙处于关闭状态。
应开启防火墙。

q2

登录时 要先更改 harbor 配置文件

image.png

改为 自己的ip(也可为域名,但要host解析等), 在harbor 配置文件中
可看到登录名与密码 admin Harbor12345(可更改)


image.png

三.Harbor 的使用

image.png
  1. 创建项目


    image.png

此时就看到创建的项目


image.png

2)创建用户


image.png

填入用户的信息


image.png
image.png

3)把用户添加到项目中


image.png
image.png
image.png
image.png

此时在 成员 处就可以看到 添加的成员


image.png

4)项目添加到仓库
客户端操作(pull&&push)
一、修改配置文件

vim /etc/docker/daemon.json
{ "insecure-registries":["192.168.88.250"] }
systemctl daemon-reload
systemctl restart docker

二、登录到docker私有仓库

[root@docker2 ~]# docker login 192.168.88.250
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
[root@docker2 ~]#

三、打标签以及push镜像

docker tag nginx:latest 192.168.88.250/test/nginx:v1   #test为我们创建的组
[root@docker2 ~]# docker push 10.0.0.128/test/nginx:v1 
The push refers to repository [10.0.0.128/test/nginx] 
22439467ad99: Pushed 
b4a29beac87c: Pushed 
488dfecc21b1: Pushed 
v1: digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94 size: 948 
[root@docker2 ~]#

四、转入仓库发现镜像并pull


Snipaste_2020-02-22_21-30-24.jpg

Snipaste_2020-02-22_21-30-40.jpg

然后去到我们客户端服务器的终端

注:在此之前删除或者修改我们之前tag的以便于区分
 [root@docker2 ~]# docker pull 192.168.88.250/test/nginx:v1 
v1: Pulling from test/nginx 
bc51dd8edc1b: Pull complete 
66ba67045f57: Pull complete 
bf317aa10aa5: Pull complete 
Digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94 Status: Downloaded newer image for 192.168.88.250/test/nginx:v1 
192.168.88.250/test/nginx:v1
 [root@docker2 ~]#
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容