【Docker五】使用Harbor搭建Docker私有仓库

目录

一、harbor概述

1、harbor概念:

2、harbor的特性

3、harbor的组件:

二、harbor实验:

1、搭建harbor

2、远程主机使用docker-harbor:

3、镜像同步:


一、harbor概述

1、harbor概念:

harbor:是由VMware公司开发的,开源的企业级的docker register(docker仓库)项目。支持中文

主要的目的:帮助用户快速搭建一个企业级的docker仓库的服务

2、harbor的特性

  1. 基于角色进行控制,用户和仓库都是基于项目进行的,用户在每个项目中可以拥有不同的权限
  2. 基于镜像,在不同的harbor实例之间进行复制
  3. harbor自带一个数据库,AD/LDAP(类似于数据库中的表),对已存在的用户进行认证和管理
  4. 镜像删除和垃圾回收,仓库中的镜像可以被删除(基于权限控制的),也可以回收镜像占用的空间
  5. 自带图形化界面,用户可以直接通过浏览器来对镜像仓库进行管理
  6. 审计管理,所有对镜像仓库的操作,都可以被记录溯源
  7. 支持API操作

端口:主机和主机之间通信。API是应用和应用之间的接口(美团付款到微信支付)。管理员可以基于API调用接口,和更多的其他程序进行集成

3、harbor的组件:

1、proxy:安装完harbor之后,会自动生成一个nginx的容器,自动对外映射,80端口,nginx作为前端的代理,在harbor当中,register、UI、TOKEN都在nginx的反向代理后面。通过nginx的代理,可以把请求转发到后端不同的应用。

2、Register:负责存储镜像,所有的docker pull/push命令都由其负责。用户进行访问控制,不同的用户对docker镜像有不同的读写权限。Register每次都会指向一个不同的Token,强制用户每次的pull/push,都必须带一个合法的Token(公钥对),Register会通过公钥对,进行解密验证,身份合法才能指定操作

3、core services:harbor的核心功能,提供三个服务:

        ·UI:提供图形化界面·webhook:仓库上所有镜像的变化(增删改),都会传送给webhook,以显示在UI界面上·Token:签发每一次push和pull的公钥对,用来和仓库之间进行权限认证

4、database:harbor-db,为核心组件core-services提供数据库存储服务,存储用户权限,审计日志,docker镜像的本组和项目信息

5、job services:主要用于镜像的复制,本地镜像可以同步到远程harbor上

6、log collector(harbor-log):统一日志收集工具

harbor都是基于docker容器化部署的,由docker-compose一键编排,安装。

二、harbor实验:

三台docker:

docker1:安装仓库 20.0.0.52 docker-ce harbor docker-compose

docker2:客户端 20.0.0.51 docker-ce harbor docker-compose

docker3:安装仓库——实现远程同步20.0.0.28 docker-ce harbor docker-compose

1、搭建harbor

安装docker-compose和docker-harbor

tar -xf harbor-offline-installer-v2.8.1.tgz -C /usr/local/cd /usr/local/harbor/cp harbor.yml.tmpl harbor.yml

2、修改harbor配置文件:

vim harbor.yml

docker-harbor默认的通信协议是https加密通信协议,但是我们用不了https协议,需要购买才能使用

编译环境:

./prepare

./install.sh

浏览器访问docker-harbor:

访问本机地址即可:20.0.0.52

上传镜像到docker-harbor仓库:

docker pull nginx:1.22.0

docker login -u admin -p 123456 http://127.0.0.1

docker tag nginx:1.22.0 127.0.0.1/library/nginx:test1

docker push 127.0.0.1/library/nginx:test1

创建一个新项目:

角色的作用:

  1. 访客:只能看,只有读权限
  2. 开发者:开发者可以有读写权限,但是没有删除权限
  3. 维护人员:读写权限,修改其他配置项的权限
  4. 项目管理员:对该项目拥有所有权限

没点公开,这是一个私有仓库:

创建用户:

还要给指定仓库新建成员,不然没有对指定仓库操作的权限

用其他用户上传镜像:

docker1镜像保存位置:

2、远程主机使用docker-harbor:

docker2:20.0.0.51

安装docker-harbor

修改dockerserver配置文件

vim /usr/lib/systemd/system/docker.service

13行修改

直接指向目标主机

远程上传到harbor

浏览器查看:

3、镜像同步:

docker3也安装harbor

登录docker3的harbor

建立同步:

将私有仓库改为公共仓库:

下面点保存

然后再复制同步:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C_11练习题答案

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 以下叙述中正确的是(C)A.C语言不是一种高级语言 B.C语言不用编译就能被计算机执行 C.C语言能够直接访问物理地址和进行位…

ES日志分析在Win系统上的安装和使用

Es日志分析三件套ElasticSearch、Kibana、logstash。 ElasticSearch 下载 官方下载地址 选择自己想要的版本下载即可。这个地方有可能下载会比较慢。可以结合迅雷做下载。 分词器下载 官方分词器下载 如果GIthub加载不出来。可以看看我的这个文章GitHub上不去怎么办&…

【C++练级之路】【Lv.4】类和对象(下)(初始化列表,友元,static成员,编译器的优化)

目录 一、再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit关键字 二、static成员2.1 概念2.2 特性 三、友元3.1 引入3.2 友元函数3.2.1 概念3.2.2 特性 3.3 友元类3.3.1 概念3.3.2 特性 四、内部类4.1 概念4.2 特性 五、匿名对象六、编译器的优化6.1 传参优化6.1.1 …

SpringBoot使用自带的日志框架(开箱即用,同时输出到文件与控制台)

在SpringBoot内部中,默认就集成了LogBack的日志依赖,所以我们其实在实际开发中不需要直接添加该依赖。 你会发现spring-boot-starter其中包含了 spring-boot-starter-logging,Spring Boot为我们提供了很多默认的日志配置,所以&…

【libcurl库】OpenSSL 库、多线程、断点续传(二)

一、libcurl函数库常用字段解读 1、curl_global_init():初始化libcurl2、curl_easy_init():得到easy interface型指针,拿到句柄3、curl_easy_setopt(CURL *handle, CURLoption option, parameter):设置传输选项 第二个参数CURLop…

超聚变服务器(原华为服务器)网站模拟器

一、超聚变服务器(原华为服务器)网站模拟器: 原来了解服务器可以从他的网站上进行了解,模拟器做的很好了。 https://support.xfusion.com/server-simulators/ 有很多的模拟器,今天主要看下BMC的设置 有很多的在线工具…

XUbuntu22.04之HDMI显示器设置竖屏(一百九十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

谷歌宣布向云计算客户开放 Gemini Pro,开发者可用其构建应用

12 月 14 日消息,美国时间周三,谷歌宣布了一系列升级的人工智能(AI)功能,旨在为其云计算客户提供更好的服务。这家科技巨头正试图赶上竞争对手,比如微软和 OpenAI,它们都在积极利用人工智能的热…

Axure自定义元件

目录 1.processOne的使用 ​编辑2.自定义元件的使用、 2.1如何自定义一个元件 2.2使用自定义元件 导语: Axure是绘制原型图的软件,但是我们很多时候不知道,画哪一个板块,所以流程图的绘制也是非常重要的 1.processOne的使用…

【图论】普利姆算法,最小生成树

一次加入一个节点到我们的最下生成树中。加入哪个&#xff1f;跟着下面的步骤走一遍你就会了。 1. 把第一个节点A添加进来 2. 看两条边<A,B>,<A,E>,一个长度是3&#xff0c;一个长度是4&#xff0c;把长度短的边的另一个节点添加进来&#xff0c;也就是B 3. 再看A,…

oracle aq java jms使用(数据类型为XMLTYPE)

记录一次冷门技术oracle aq的使用 版本 oracle 11g 创建用户 -- 创建用户 create user testaq identified by 123456; grant connect, resource to testaq;-- 创建aq所需要的权限 grant execute on dbms_aq to testaq; grant execute on dbms_aqadm to testaq; begindbms_a…

超详细 | 哈里斯鹰优化算法原理、实现及其改进与利用(Matlab/Python)

测试函数为F9 在MATLAB中执行程序结果如下&#xff1a; 在Python中执行程序结果如下&#xff1a; 哈里斯鹰优化算法(Harris Hawks Optimization , HHO)是 Heidari等[1]于2019年提出的一种新型元启发式算法&#xff0c;设计灵感来源于哈里斯鹰在捕食猎物过程中的合作行为以及突…

flume系列之:监控flume agent channel的填充百分比

flume系列之:监控flume agent channel的填充百分比 一、监控效果二、获取flume agent三、飞书告警四、获取每个flume agent channel的填充百分比一、监控效果 二、获取flume agent def getKafkaFlumeAgent():# 腾讯云10.130.112.60zk = KazooClient(hosts

Day60力扣打卡

打卡记录 1682分了记录下&#xff0c;希望下回能突破1700捏。作为一个菜鸟&#xff0c;知道自己很菜&#xff0c;一步步走到现在还是很开心的&#xff0c;从以前的周赛稳定1题到稳定2题&#xff0c;到现在的时有时无的3题。每次刷题都期盼有所长进&#xff0c;虽然更多的时候收…

【C语言】字符串函数及其模拟实现

这是最好的时代&#xff0c;这是最坏的时代&#xff0c;我们一无所有&#xff0c;我们巍然矗立 本文由睡觉待开机原创&#xff0c;未经允许不得转载。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 系列文章目录…

OpenSSL的源码在哪里下载?

官方网站去下载&#xff0c;网址&#xff1a; https://www.openssl.org/source/ 比较老的版本的下载页面地址&#xff1a; https://www.openssl.org/source/old/ 由于某面板的OpenSSL模块的安装配置语句如下&#xff1a; --with-openssl/root/rpmbuild/BUILD/openssl-1.0.2u所…

2-2基础算法-Nim和/前缀和/差分

文章目录 一.Nim和二.前缀和&区间和三.差分 一.Nim和 Nim游戏是一个数学策略游戏&#xff0c;通常涉及两名玩家轮流从几堆物品&#xff08;如石子或饼干&#xff09;中取走一定数量的物品。每个玩家每次可以从任意一堆中取走任意数量的物品&#xff0c;但必须至少取走一个…

使用qt实现四则运算计算机项目

这是我们要包含的头文件 #include <QWidget> #include<QStack> #include<string.h> #include<string> 这是我在ui界面创建的计算机基础框架。 接下来要实现按住每个按钮在白框内显示&#xff1b; 因此我们要定义一个QString 类型的变量 QString e…

Linux系统上64位ATT汇编语言多个源文件计算两个数的平方

运行程序的环境 sudo lsb_release -a看到操作系统是Ubuntu 22.04 LTS。 sudo uname -r看到内核版本是5.15.0-86-generic。 sudo as --version看到as的版本是2.38。 sudo ld --version看到ld的版本是2.38。 sudo gcc --version看到gcc版本是11.2.0。 sudo gdb --version看到gdb…

Yum仓库架构解析与搭建实践

1.Yum仓库搭建 1.1本地Yum仓库图解 1.2Linux本地仓库搭建 配置本地光盘镜像仓库 1&#xff09;挂载 [roothadoop101 ~]# mount -t iso996 /dev/cdrom/mnt 2&#xff09;查看 [rooothadoop101 ~] # df -h | |grep -i mnt /dev/sr0 4.6G 4.4G 3&#xf…