Harbor可视化docker私有仓库

  • 一、Harbor简介
  • 二、Harbor的优势
  • 三、Harbor的结构组件
  • 四、docker私有仓库架构拓扑图
  • 五、部署Harbor私有仓库
  • 六、Harbor维护管理

一、Harbor简介

有可视化的Web管理界面,可以方便管理Docker镜像,又提供了多个项目的镜像权限管理及控制功能

Harbor是VMware公司开源的企业级Docker Registry项目

二、Harbor的优势

  • 基于角色控制
  • 基于镜像的复制策略
  • 支持LDAP/AD
  • 图像删除和垃圾收集
  • 图形UI
  • 审计
  • RESTful API

三、Harbor的结构组件

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

2、Registry:负责储存Docker镜像,并处理docker push/pull命令

3、Core services:Harbor的核心功能,包括UI、webhook、 token服务

4、Database:为core services提供数据库服务

5、Log collector:负责收集其他组件的 log,供日后进行分析

四、docker私有仓库架构拓扑图


所有的请求都经过proxy代理,proxy代理转发给Core services和Registry,其中Core services包括UI界面、token令牌和webhook网页服务功能,Registry主要提供镜像存储功能。如果要进行下载上传镜像,要经过token令牌验证然后从Registry获取或上传镜像,每一次下载或上传都会生成日志记录,会记入Log collector,而用户身份权限及一些镜像语言信息会被存储在Database中。

五、部署Harbor私有仓库

Harbor 被部署为多个 Docker 容器,因此可以部署在任何支持 Docker 的 Linux 发行版上。
服务端主机需要安装 Python、Docker 和 Docker Compose。
1、安装Docker Compose、harbor

cd /usr/local/bin
#上传Docker Compose文件包
chmod +x docker-compose
docker-compose -vcd /usr/local
#上传harbor-offline-installer-v1.2.2.tgz软件包
tar zxvf harbor-offline-installer-v1.2.2.tgz


2、修改配置参数文件

vim /usr/local/harbor/harbor.cfg//5 hostname = 192.168.229.10


配置文件中有两类参数:所需参数和可选参数
(1)所需参数
这些参数需要在配置文件 Harbor.cfg 中设置。
如果用户更新它们并运行 install.sh脚本重新安装 Harbour,
参数将生效。具体参数如下:

hostname:用于访问用户界面和 register 服务。它应该是目标机器的 IP 地址或完全限 定的域名(FQDN) 例如 192.168.229.10 或 hub.kgc.cn。不要使用 localhost 或 127.0.0.1 为主机名。

ui_url_protocol:(http 或 https,默认为 http)用于访问 UI 和令牌/通知服务的协议。如果公证处于启用状态,则此参数必须为 https。

max_job_workers:镜像复制作业线程。

db_password:用于db_auth 的MySQL数据库root 用户的密码。

customize_crt:该属性可设置为打开或关闭,默认打开。打开此属性时,准备脚本创建私钥和根证书,用于生成/验证注册表令牌。 当由外部来源提供密钥和根证书时,将此属性设置为 off。

ssl_cert:SSL 证书的路径,仅当协议设置为 https 时才应用。

ssl_cert_key:SSL 密钥的路径,仅当协议设置为 https 时才应用。

secretkey_path:用于在复制策略中加密或解密远程 register 密码的密钥路径。

(2)可选参数
这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动 Harbor 后在 Web UI 上进行更新。
如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数 的更新,Harbor.cfg 将被忽略。

注意:如果选择通过UI设置这些参数,请确保在启动Harbour后立即执行此操作。具体来说,必须在注册或在 Harbor 中创建任何新用户之前设置所需的
auth_mode。当系统中有用户时(除了默认的 admin 用户),auth_mode 不能被修改。具体参数如下:

Email:Harbor需要该参数才能向用户发送“密码重置”电子邮件,并且只有在需要该功能时才需要。 请注意,在默认情况下SSL连接时没有启用。如果SMTP服务器需要SSL,但不支持STARTTLS,那么应该通过设置启用SSL
email_ssl = TRUE。

harbour_admin_password:管理员的初始密码,只在Harbour第一次启动时生效。之后,此设置将被忽略,并且应 UI中设置管理员的密码。 请注意,默认的用户名/密码是 admin/Harbor12345。

auth_mode:使用的认证类型,默认情况下,它是 db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为 ldap_auth。

self_registration:启用/禁用用户注册功能。禁用时,新用户只能由 Admin 用户创建,只有管理员用户可以在 Harbour中创建新用户。 注意:当 auth_mode 设置为 ldap_auth 时,自注册功能将始终处于禁用状态,并且该标志被忽略。

Token_expiration:由令牌服务创建的令牌的到期时间(分钟),默认为 30 分钟。

project_creation_restriction:用于控制哪些用户有权创建项目的标志。默认情况下, 每个人都可以创建一个项目。 如果将其值设置为“adminonly”,那么只有 admin 可以创建项目。

verify_remote_cert:打开或关闭,默认打开。此标志决定了当Harbor与远程 register 实例通信时是否验证 SSL/TLS 证书。 将此属性设置为 off 将绕过 SSL/TLS 验证,这在远程实例具有自签名或不可信证书时经常使用。

另外,默认情况下,Harbour
将镜像存储在本地文件系统上。在生产环境中,可以考虑 使用其他存储后端而不是本地文件系统,
如 S3、Openstack Swif、Ceph 等。但需要更新 common/templates/registry/config.yml 文件。

3、启动 Harbor

sh /usr/local/harbor/install.sh


4、查看 Harbor 启动镜像

docker images
docker ps -a


cd /usr/local/harbor/
docker-compose ps


打开浏览器访问 http://192.168.229.10 的管理页面,默认的管理员用户名和密码是 admin/Harbor12345。


添加项目并且填写项目名称

此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下,
Register 服务器在端口 80 上侦听。

#登录
docker login -u admin -p Harbor12345 http://127.0.0.1#下载镜像进行测试
docker pull cirros/#镜像打标签
docker tag cirros 127.0.0.1/myproject-kgc/cirros:v1/#上传镜像到Harbor
docker push 127.0.0.1/myproject-kgc/cirros:v1




如果其他客户端上传镜像到 Harbor,需要进行如下操作
客户端操作

vim /usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.229.10 --containerd=/run/containerd/containerd.socksystemctl daemon-reload
systemctl restart docker
docker login  -u admin -p Harbor12345 http://192.168.229.10

docker pull cirros
docker images
docker tag cirros 192.168.229.10/object/cirros:v2
docker push 192.168.229.10/object/cirros:v2

六、Harbor维护管理

1、修改 Harbor.cfg 配置文件
要更改 Harbour 的配置文件时,请先停止现有的 Harbour 实例并更新 Harbor.cfg;然
后运行 prepare 脚本来填充配置;最后重新创建并启动 Harbour 的实例。

docker-compose down -v
vim harbor.cfg./prepare
这里需要注意的时:如果防火墙关闭后,docker需要重启

2、创建harbor用户



创建项目开发人员



使用新用户登录

docker logout 192.168.229.10     #退出admin用户登录
docker login 192.168.229.10         #新的用户登录
Username: zhangsan
Password:

Harbor可视化docker私有仓库相关推荐

  1. 部署docker-consul群集,Harbor构建Docker私有仓库

    文章目录 部署docker-consul群集,Harbor构建Docker私有仓库 了解Harvor 案例概述 Docker consul服务了解 部署Harbor服务过程 不是本地上传镜像操作 在用 ...

  2. 使用Harbor构建docker私有仓库

    目录 一.概述 1.什么是Harbor 2.Harbor的优势 3.Docker私有仓库架构 4.Harbor 配置文件以及相关参数 (1)所需参数 (2)可选参数 二.使用Harbor构建docke ...

  3. Docker 私有仓库部署和管理 | Harbor 概述 - 核心组件 - 架构拓扑 | Harbor 构建 Docker 私有仓库实战(理论+实操,超详细!)

    文章目录 一.Docker Harbor 概述 1.Harbor 简介 2.Harbor 的优势 二.Harbor 的核心组件 1.Proxy 2.Registry 3.Core services 4 ...

  4. 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建

    微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建 通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构 ...

  5. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 3. 运行registry容器 4. Docke ...

  6. 华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库

    华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库 1.背景 2.环境说明 3.在CentOs中安装所需要的软件包 4.部署Harbor 4.1.安装docker-compo ...

  7. 企业级docker私有仓库的配置与使用

    1 搭建Harbor企业级docker仓库 搭建docker私有仓库是企业在docker使用中必不可少的步骤,harbor是由vmware几个大神开源出来的一款非常优秀的产品.因此今天来讲述一下如何在 ...

  8. WMware Harbor 开源 Docker 私有库搭建

    WMware Harbor 开源 Docker 私有库搭建 Harbor简介 Harbor 的主要功能 基于角色的访问控制 基于镜像的复制策略 图形化用户界面 支持 AD/LDAP 镜像删除和垃圾回收 ...

  9. 客快物流大数据项目(十八):Docker私有仓库

    目录 Docker私有仓库 一.registry 的搭建 1.搭建 2.验证

最新文章

  1. EMC全球调查显示:企业对新的安全威胁还未做好准备
  2. Android学习:自定义ViewGroup方法总结
  3. 转:罗永浩给俞敏洪写的求职信
  4. swiper切换按钮位置改变_swiper插件自定义切换箭头按钮
  5. IOS学习之数据库(6)--SQLite常用的函数
  6. 前端学习(2532):vuex mutation
  7. Chrome 73 DevTools 新功能之 Logpoints
  8. mysql 傻瓜式管理_傻瓜式教学【数据库管理工具Navicat】
  9. 使用Python快速获取公众号文章定制电子书(一)
  10. java supplier_Java 函数式编程
  11. 小程序纵向选项卡可以滑动_微信小程序实现选项卡滑动切换
  12. java中var是什么意思_Java 10中的var是什么?
  13. vscode左侧文件不同颜色标识含义
  14. Elasticsearch嵌套式对象Nested分析
  15. 谈谈如何写好一份简历
  16. 安利!王一博与海飞丝的清爽秘籍
  17. linux内核源码漫游,Linux内核源代码漫游
  18. 代码管理和编辑工具Source Insight 4.0使用介绍
  19. Android平板app开发布局文件,Android平板开发相关
  20. Java中Set接口

热门文章

  1. 朋友圈集赞,简洁壁纸,玩游戏学git
  2. html ui组件,UI组件
  3. 前后端交互之form表单和模板引擎
  4. 紫光同创国产FPGA学习之Fabric Configuration
  5. python装饰器原理wraps(method)(self)_理解Python中装饰器最佳方法~
  6. 单叶双曲面母直线参数的几何意义
  7. 自我中心网络:科普+数据共享
  8. 使用Pytorch框架自己制作做数据集进行图像分类(一)
  9. 呵呵,一个bug你改了两天?难吗?
  10. Linux服务器批量管理工具 - TeamRemote