Harbor仓库介绍与搭建过程

2023-11-07

一:介绍

  1. Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
  2. Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

二:Harbor核心组件解释

  • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
  • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
  • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
  • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
  • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
  • Registry:镜像仓库,负责存储镜像文件。
  • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

三:Harbor和Registry的比较

Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。
1.提供分层传输机制,优化网络传输
Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
2.提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
3.支持水平扩展集群
当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
4.良好的安全机制
企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

四:Harbor简单部署

1.安装docker-compose

yum install python-pip;pip install docker-compose

[root@foundation11 harbor]# docker-compose --version
docker-compose version 1.23.2, build 1110ad0

 

2.下载Harbor离线包
https://github.com/vmware/harbor/releases
3.解压,进入安装包

[root@node03 ~]# tar -xvf harbor-online-installer-tgz ; cd harbor

4.修改docker-compose.notary.yml和harbor.cfg

vim harbor.cfg 

hostname = 172.25.11.250  #不可设置为自身地址

db_password = root123

max_job_workers = 3

harbor_admin_password = westos

db_host = mysql

db_password = root123

db_port = 3306

db_user = root

./prepare

systemctl start docker

./install.sh

[root@foundation11 harbor]# docker-compose ps
       Name               Command               State                Ports      
--------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh     Up (health:                           
                                          starting)                             
harbor-core          /harbor/start.sh     Up (health:                           
                                          starting)                             
harbor-db            /entrypoint.sh       Up (healthy)         5432/tcp         
                     postgres                                                   
harbor-jobservice    /harbor/start.sh     Up                                    
harbor-log           /bin/sh -c           Up (healthy)         127.0.0.1:1514->1
                     /usr/local/bin/                           0514/tcp         
                     ...                                                        
harbor-portal        nginx -g daemon      Up (healthy)         80/tcp           
                     off;                                                       
nginx                nginx -g daemon      Up (healthy)         0.0.0.0:443->443/
                     off;                                      tcp, 0.0.0.0:4443
                                                               ->4443/tcp, 0.0.0
                                                               .0:80->80/tcp    
redis                docker-              Up                   6379/tcp         
                     entrypoint.sh                                              
                     redis ...                                                  
registry             /entrypoint.sh       Up (healthy)         5000/tcp         
                     /etc/regist ...                                            
registryctl          /harbor/start.sh     Up (healthy)    

[root@foundation11 harbor]# pwd
/root/Desktop/harbor

[root@foundation11 harbor]# docker-compose start

Starting log         ... done
Starting postgresql  ... done
Starting redis       ... done
Starting adminserver ... done
Starting registry    ... done
Starting core        ... done
Starting jobservice  ... done
Starting portal      ... done
Starting proxy       ... done
Starting registryctl ... done

admin

Harbor12345

默认登陆密码

 

[root@foundation11 harbor]# docker login 172.25.11.250
Username: admin
Password:
Error response from daemon: Get https://www.westos.com/v2/: dial tcp 172.25.11.250:443: connect: connection refused

出现问题

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Harbor仓库介绍与搭建过程 的相关文章

  • k8s-----------YAML&harbor

    目录 概述使用YAML文件创建资源1 查看资源版本的标签2 创建yaml文件测试 Pod1 特点2 pod容器分类3 镜像拉取策略 部署harbor1 登录harbor私有仓库2 下载Tomcat镜像进行推送3 推送 概述 Kubernet
  • Harbor新建仓库目标提示 the registry is unhealthy

    两个harbor需要通过镜像复制策略来同步镜像 在仓库管理添加的harbor状态是unhealthy 问题排查 两个harbor需要通过镜像复制策略来同步镜像 在仓库管理添加的harbor状态是unhealthy 本文中 目标仓库的地址是i
  • Harbor断电重启postgres报错 could not locate a valid checkpoint record

    Harborv2 2 2内置的数据库是postgres9 6 21 服务器突然断电 重启harbor后报错 信息如下 Oct span class token number 21 span span class token number 1
  • 配置对 Harbor 的 HTTPS 访问

    配置对 Harbor 的 HTTPS 访问 默认情况下 xff0c Harbor 不附带证书 可以在没有安全性的情况下部署 Harbor xff0c 以便你可以通过 HTTP 连接到它 但是 xff0c 在生产环境中 xff0c 建议使用
  • Harbor使用公网证书

    Harbor使用公网证书 申请公网证书 申请阿里云免费证书 因为Harbor使用Nginx做代理 xff0c 因此在公网证书审核通过后 xff0c 在证书下载面板 xff0c 单击Nginx服务器操作列的下载 下载解压后您将会获得以下文件
  • Harbor

    目录 一 Docker Harbor 概述1 Harbor 简介2 Harbor 的特性3 Harbor 的构成4 Harbor cfg 两类参数 二 搭建 Harbor 服务1 下载 Harbor 安装程序2 修改 Harbor 配置文件
  • harbor搭建与使用

    二 harbor基础操作 1 创建用户 如下 系统管理 gt 用户管理 点击创建用户按钮 点击确定 查看用户已经创建完成 如下 可以设置该用户为管理员 如下 选中用户 点击设置为管理员 再次查看该用户 角色已经变为管理员 修改用户密码 如下
  • k8s-部署本地仓库harbor

    1 基础配置 xff1a 主机名IP系统版本k8s master192 168 32 128centos 7 6k8s node1192 168 32 129centos 7 6k8s node2192 168 32 130centos 7
  • docker(2)——docker仓库之Registry、harbor仓库

    一 什么是仓库 Docker 仓库是用来包含镜像的位置 xff0c Docker提供一个注册服务器 xff08 Register xff09 来保存多个仓库 xff0c 每个仓库又可以包含多个具备不同tag的镜像 Docker运行中使用的默
  • 使用 Helm Cli 将 chart 推送到 Harbor

    使用 Helm Cli 将 chart 推送到 Harbor 背景问题 努力寻找适用于特定版本的 Harbor 和 Helm 的文档 我尝试添加我的仓库 xff08 repo xff09 helm repo span class token
  • idea通过maven使用docker插件生成镜像并推送到harbor仓库

    windows有2种方式获取docker环境 xff0c 使用VM构建linux环境并安装docker xff0c 另一种是安装dockertoolbox xff0c 再通过bash的方式创建虚拟的docker环境 xff08 本文使用后者
  • 记录一次harbor的镜像扫描和更新

    前提 已经部署好harbor 192 168 14 16 项目名称 harbor 1 在harbor服务器拉取centos源镜像 root localhost docker pull centos Using default tag lat
  • Docker之私有镜像仓库Harbor搭建

    简介 Docker离不开可靠的镜像管理 官方默认的DockHub 虽然Docker官方也提供了公共的镜像仓库Registry 但是功能略显简单 Harbor是由VMware公司开源的企业级的Docker Registry管理项目 它包括权限
  • Harbor----使用 Harbor 安装包安装部署 Harbor

    文章目录 一 Harbor安装准备条件 1 1 硬件要求 1 2 软件要求 1 3 网络端口要求 二 下载 Harbor 的安装包文件 2 1 Harbor 安装包分类 2 2 下载并解压安装包 三 配置安装 Harbor 3 1 安装基于
  • GitLab+Jenkins+Harbor+Kubernetes构建Devops体系

    文章目录 一 架构设计 二 环境准备 1 安装GitLab 2 安装Jenkins 1 安装方式 2 配置 3 安装Harbor 4 安装k8s 1 安装方式 2 配置 三 服务代码结构 四 Jenkins持续集成 本文介绍一套比较简单的
  • 搭建Harbor2.1.0最新版私有镜像仓库

    文章目录 搭建Harbor仓库 Harbor是什么 为什么会用到Harbor Harbor的三种安装方式 离线安装 测试推送镜像 搭建Harbor仓库 Harbor是什么 为什么会用到Harbor harbor是构建企业级私有docker镜
  • 企业级镜像仓库Harbor的部署及使用

    文章目录 一 环境准备 二 下载 三 HTTPS证书 1 生成证书颁发机构证书 2 生成服务器证书 3 提供证书给Harbor和Docker 四 Harbor配置文件 五 安装 六 Web页面 七 上传及拉取镜像 1 配置 2 上传镜像 3
  • Harbor仓库介绍与搭建过程

    一 介绍 Harbor 是一个英文单词 意思是港湾 港湾是干什么的呢 就是停放货物的 而货物呢 是装在集装箱中的 说到集装箱 就不得不提到Docker容器 因为docker容器的技术正是借鉴了集装箱的原理 所以 Harbor正是一个用于存储
  • 一次内网 Harbor 镜像仓库导出迁移过程记录

    1 整体思路 Harbor 提供有丰富的 API 接口 可以获取所有项目信息 镜像和标签等信息 通过编写 shell 脚本循环处理即可实现批量导出镜像包的需求 登陆 Harbor 后 左下角有 API 控制中心按钮 进入可以查看和调试 2
  • Docker: getsockopt: connection refused 问题解决

    操作系统 centos7 问题描述 部署好的harbor无法从其他服务器登陆 问题原因 docker1 3 2版本开始默认docker registry使用的是https 而我们设置Harbor默认http方式 所以当执行用docker l

随机推荐

  • 分页数据库其实就是两个生产者与消费者

    再次看osg 最长的一帧 因为分页数据库适合于PagedLod和ProxyNode 一般调试还得准备数据 比较麻烦 突然想起 和我以前封装的引擎类似 分页数据库就是几个生产者与消费者 回过头来看这个图 看似复杂 实际上并不复杂 如果简化 只
  • 服务器状态检测工具

    系统概述 1 对服务进程进行监测 提供监测状态 开启 关闭 2 提供按钮进行开启 关闭 重启 3 提供按钮支持Tomcat Unabackup服务重启 4 服务包括 服务器名 进程名 MTS 主控服务器 cn com xxx mts MDS
  • java获取文件大小

    1 MultipartFile获取文件大小 使用方法 file getSize 接收文件 param model return RequestMapping value imageupload public void imageUpload
  • redis实现原理和应用(redis读书笔记)

    数据结构与对象 简单动态字符串 sds 扩展C语言中的string 添加free剩余字节程度方便内存扩展 length字节长度提高获取长度的效率 动态扩容机制 Redis只会使用C字符串作为字面量 在大多数情况下 Redis使用SDS Si
  • orl_faces数据集分享

    orl faces数据集 今天整理电脑时发现还有这个数据集 本想删掉但想起当初找的时候来之不易 明明github上开源的东西 百度一搜非得是开会员 要这个要那个的 秉着开源精神 关注或者点赞都可以 doge 我今天就把网盘链接放这了 需要的
  • 推荐几个常用的DNS

    现在的DNS服务器很多 但是存在污染一说 所以总想找点好的DNS 当初第一次使用 是Google推出DNS服务时候 而且它的地址也太好记了 Google主DNS服务IP 8 8 8 8 Google次DNS服务IP 8 8 4 4 开始的时
  • Android——使用WebView显示网页

    1 引言 通过Intent调用系统浏览器 Uri uri Uri parse url url为你要链接的地址 Intent intent new Intent Intent ACTION VIEW uri startActivity int
  • IO 重定向的Hook和对抗

    对于设备指纹来说 系统文件是用来标识设备比较稳定的特征码 特别是对于改设备机型 一般来说 一些关键文件信息可用来标识一台设备 典型的如mac地址文件 序列号文件 还有一些用来标识某个特定机型的 比如小米在framework下就有一些文件的文
  • 大规模网络爬虫系统架构设计 - 云计算和Docker部署

    在大规模网络爬虫系统中 合理的架构设计和高效的部署方式是确保系统稳定性和可扩展性的关键 本文将介绍如何利用云计算和Docker技术进行大规模网络爬虫系统的架构设计和部署 帮助你构建高效 可靠的爬虫系统 1 架构设计原则 在设计大规模网络爬虫
  • Python logging自定义字段输出及设置日志打印颜色

    import json import logging class JsonFilter logging Filter 此处定义字段的默认值 如果打印信息时不设置对应字段 则为默认值 服务服务名或者服务主机 server 访问ip ip 访问
  • 利用history.pushState实现前端路由

    div a link1 a a link2 a div div div
  • springboot的java配置数据连接池步骤

    1 添加依赖 2 创建数据库 3 创建数据库连接参数的配置文件jdbc properties 4 创建配置类 5 改造处理器类注入数据源并使用
  • MySQL 监控软件lepus天兔

    文章目录 概述 一 基本环境安装 1 1 安装LAMP环境 1 2 开启httpd mysqld 1 3 安装lepus server需要的依赖包 1 4 配置httpd并启动 1 5 配置php 1 6 安装Python2 7 不是必须的
  • 启明云端分享

    提示 作为Espressif 乐鑫科技 大中华区合作伙伴及sigmastar 厦门星宸 VAD合作伙伴 启明云端不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考 同时也用心整理了乐鑫及星宸科技的新产品 新方
  • 虚拟主机的数据库服务器怎么填,虚拟主机的数据库服务器怎么填

    虚拟主机的数据库服务器怎么填 内容精选 换一换 华为云提供两种连接方式通过SQL Server客户端连接实例 非SSL连接和SSL连接 其中 SSL连接实现了数据加密功能 具有更高的安全性 安装SQL Server客户端请参见如何安装SQL
  • 2019 ICPC香港站 G. Game Design

    Problem G Codeforces 问题描述 怪物只能在树叶子节点出生 向上走 可以花费一个值在一个节点建防御塔 防御塔会阻碍怪物向上走 最小花费可以让根节点无法被怪物走到的一个造塔方法算是一个方案 现给定方案数 让构造满足给定方案数
  • Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when tryin

    多线程在更新数据库时报死锁问题 死锁信息 1 TRANSACTION TRANSACTION 29285454235 ACTIVE 0 001 sec fetching rows mysql tables in use 3 locked 3
  • 微信小程序iOS虚拟支付问题汇总

    一 做了一款在线听课的小程序 是否涉及到小程序虚拟支付的问题 是 影响最大的还是那些把IOS会员当做变现唯一手段的小程序 如果小程序只是服务老用户 拉新 裂变等较少 影响自然少一点 二 什么是虚拟支付 虚拟支付是指购买非实物商品 摸不到的物
  • 剑指 Offer 28. 对称的二叉树(递归/并且或者要考虑好)

    orz 没有思路 有了思路还是错的 递归 可以仿照归并排序 我这么觉得 两边判断 如果不是当我没说 递归停止的条件是什么 结束条件 左节点和右节点都为空 gt 倒底了都长得一样 gt true 左节点为空的时候右节点不为空 或反之 gt 长
  • Harbor仓库介绍与搭建过程

    一 介绍 Harbor 是一个英文单词 意思是港湾 港湾是干什么的呢 就是停放货物的 而货物呢 是装在集装箱中的 说到集装箱 就不得不提到Docker容器 因为docker容器的技术正是借鉴了集装箱的原理 所以 Harbor正是一个用于存储