docker-harbor的私有仓库

仓库 保存镜像

私有,自定义用户的形式登录仓库,拉取或者上传镜像(内部管理的用户)

harbor:VMware公司开发的,开源的企业级的docker registry项目

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

支持中文

harbor的特性

1、基于角色进行控制,用户和仓库都是基于项目进行的,用户在每个项目中可以拥有不同的权限

2、基于镜像,在不同的harbor实例之间进行复制

3、harbor自带一个数据库,AD/LDAP(类似于数据库中的表),对已经存在的用户进行认证和管理

4、镜像删除和垃圾回收,仓库中的镜像可以被删除(基于权限控制的),也可以回收镜像占用的空间

5、图形化界面的,用户可以直接通过浏览器来对镜像仓库进行管理

6、审计管理,所有对镜像仓库的操作都可以被记录溯源

7、支持API操作,(API应用程序编程接口)端口:主机和主机之间的通信,API是应用和应用直接的接口,管理员可以基于API调用接口,和更多的其他的程序进行集成

harbor的组件

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

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

3、CORE SERVICES:Harbor的核心功能:提供3个服务

1、UI:提供图形化界面
2、Webhook	仓库上所有镜像的变化(增删改),都会传给webhook,以实现在UI界面上
3、Token	签发每一次push和pull的公钥对,用来和仓库之间进行权限认证
4、自带database: harbor-db,为核心core service提供数据库存储服务,用户权限,审计日志docker镜像的分组和项目信息
5、Job servic:主要用于镜像的复制,本地镜像可以同步到远程harbor上
6、log collector(harbor-log):统一日志收集工具

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

docker-harbor部署

docker1 安装仓库 (31 docker-ce har-bor docker-compose)

docker2 客户端 (32 docker-ce har-bor docker-compose)

docker3 安装仓库--实现远程同步 (33 docker-ce har-bor docker-compose)

Docker1
关闭防火墙和安全机制
把源码包拖到opt目录下

mv docker-compose- docker-compose
mv docker-compose /usr/local/bin
chmod 777 /usr/local/bin/docker-compose

解压源码包
tar -xf  harbor-offline-installer-v2.8.1.tgz  -C /usr/local/
cd /usr/local/harbor

vim harbor.yml
5行
hostname: 20.0.0.31
把https注释掉
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
34行
harbor_admin_password: 123456

data_volume: /data
保存镜像目录

./perpare
https:docker-harbor	默认通信协议是https加密通信协议

./install.sh
页面访问
浏览器访问本机IP地址(20.0.0.31)
账号:admin
密码:123456
上传镜像
拉取镜像
docker pull nginx:1.22.0

改标签
docker tag nginx:1.22.0 127.0.0.1/library/nginx:xb1

登录项目
docker login -u admin -p 123456 http:127.0.01
上传
docker push 127.0.0.1/library/nginx:xb1

创建项目

创建用户

给项目创建成员
项目管理---> 刚刚创建的项目 ---成员---创建成员

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

上传私有仓库
先退出刚刚进入的用户
docker logout
登录用户
docker login -u xiaobu -p Abc123456 http://127.0.0.1
给nginx改标签
 docker tag nginx:1.22.0 127.0.0.1/xbtest/nginx:xb2
上传镜像
[root@docker1 harbor]# docker push  127.0.0.1/xbtest/nginx:xb2 
The push refers to repository [127.0.0.1/xbtest/nginx]
0810d1ac3f2f: Mounted from library/nginx 
a6edfce9a309: Mounted from library/nginx 
eabe89adceee: Mounted from library/nginx 
89dade9c1793: Mounted from library/nginx 
b9361c275c5d: Mounted from library/nginx 
fe7b1e9bf792: Mounted from library/nginx 
xb2: digest: sha256:b3a676a9145dc005062d5e79b92d90574fb3bf2396f4913dc1732f9065f55c4b size: 1570

页面查看

docker2(远程主机上传)
docker login -u guoqi -p Guoqi666 http://20.0.0.31
无法登录修改

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

13行
ExecStart=/usr/bin/dockerd --insecure-registry 20.0.0.31

systemctl daemon-reload
systemctl restart docker.service

docker login -u xiaobu -p Abc123456 http://20.0.0.31

docker pull logstash

docker tag logstash:latest 20.0.0.31/xbtest/logstash:xb2
docker push 20.0.0.31/xbtest/logstash:xb2

页面查看

如何实现仓库之间进行同步

docker3

harbor同docker1操作

解压源码包
tar -xf  harbor-offline-installer-v2.8.1.tgz  -C /usr/local/
cd /usr/local/harbor

vim harbor.yml
5行
hostname: 20.0.0.33
把https注释掉
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
34行
harbor_admin_password: 12345

data_volume: /data
保存镜像目录

./perpare
https:docker-harbor	默认通信协议是https加密通信协议

./install.sh

页面登录

网页访问20.0.0.33
账号    admin
密码    12345

实现远程仓库同步
页面-->仓库管理---创建目标
页面--->复制管理-->创建规则

复制管理-->勾对上刚刚创建的规则-->复制

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

磁盘空间分析工具你知道几个!8个易学易用的磁盘分析工具,让你对硬盘知根知底

以下是我对可用磁盘空间分析工具(有时称为存储分析器)的首选列表。在我的电脑上试用了其中几个应用程序后,我可以确认这里列出的应用程序是100%免费使用的,并且在弄清楚是什么填满了硬盘、闪存驱动器或外部驱动器中做了很多工作,其中一些甚至允许你直接从程序中删除文件。…

曹操出行集成:无代码API连接广告推广与用户运营

曹操出行集成的必要性 随着科技的不断进步,无代码API集成已经成为企业提升效率、优化营销策略的重要手段。对于新能源汽车共享服务领导者曹操出行而言,将其服务集成至企业营销系统中,不仅可以提升客户体验,还能加强品牌的市场竞争…

智慧工地防盗新手段:TSINGSEE青犀工地智能监控防盗系统方案

工地监控大家都很了解,主要是利用视频监控摄像头全方位无死角地对工地场所进行监控,并在汇聚平台(如:安防监控系统EasyCVR平台)上进行统一汇聚与分发。不过随着科技的发展,智能视频监控在工地监管方面又有了…

2023iEnglish学习成长营结营 助力自主阅读习惯养成

iEnglish智能英语学习解决方案日前消息,2023年最新一期的365天和1000天“iEnglish学习成长营”顺利结营。据悉,截至今年12月,完成365天和1000天每天坚持不低于30分钟的英语原版阅读人数分别累计突破15万人和2万人。而当前,21天、100天、365天以及1000天四种不同目标和意义的iEn…

Service Intelligence重磅来袭!AI驱动服务云更智能

11月中旬,Salesforce宣布推出了Service Intelligence ,这是一款适用于Service Cloud的全新分析应用程序,旨在提高座席工作效率、削减成本并提高客户满意度。 Service Intelligence由Salesforce的实时超大规模数据引擎Data Cloud提供支持&am…

【设计模式--行为型--状态模式】

设计模式--行为型--状态模式 状态模式定义结构案例优缺点使用场景 状态模式 定义 对有状态的对象,把复杂的判断逻辑提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 结构 环境角色(Context)&#xff…

定位某个类是在哪个JAR的什么版本开始出现的

背景 我们在依赖第三方JAR时,同时也会间接的依赖第三方JAR引用的依赖,而当我们项目中某个依赖的版本与第三方JAR依赖的版本不一致时,可能会导致第三方JAR的在运行时无法找到某些方法或类,从而无法正常使用。 如我正在开发的一个…

华为配置策略路由(基于IP地址)示例

组网需求 如图1所示,汇聚层Switch做三层转发设备,接入层设备LSW做用户网关,接入层LSW和汇聚层Switch之间路由可达。汇聚层Switch通过两条链路连接到两个核心路由器上,一条是高速链路,网关为10.1.20.1/24;另…

YOLOv8使用SAHI切片辅助推理:《SAHI切片辅助推理解析》推理教程(附推理源代码)

💡该教程为改进RT-DETR指南,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可💡更方便的统计更多实验数据,方便写作 YOLOv8使用SAHI切片辅助推理:《SAHI切片辅助推理解析》推理教程(附推理源代码…

家委会的职责

家委会,起着至关重要的作用。然而,而很多人对家委会的职责并不清楚。 家委会是家长与学校之间的沟通桥梁。家委会成员需要积极与学校沟通,了解学校的各项政策和规定,并及时向家长传达。同时,家委会也需要收集家长的意见…

构建外卖小程序:技术实践与代码示例

外卖小程序的开发涉及前后端的多个技术领域,从用户界面设计到数据库管理,都需要巧妙的技术方案。在本文中,我们将以微信小程序平台为例,通过简单的代码示例,介绍如何搭建一个基本的外卖小程序。 1. 准备工作 首先&a…

量子计算挑战赛启动!空中客车公司和宝马集团联手发起

(图片来源:网络) 空中客车公司(Airbus)和宝马集团(BMW)共同发起了一项名为“探索量子迁移率”的全球量子计算挑战赛,旨在解决航空和汽车领域仍未克服的紧迫难题。 此次挑战赛汇聚了…

微信小程序uniapp记住密码

记住密码功能 在请求登录接口成功后,我们需要判断用户是否勾选记住密码,如果是,则将记住密码状态、账号信息存入本地。 下次登录时,获取本地的记住密码状态,如果为true则获取本地存储的账号信息,将信息回填…

Google为什么它还没有开发出ChatGPT,如何反超,小公司创新的产品如何反超巨头 行业巨头如何防止被小公司或创新型公司的产品超越

Google虽然收购了Geoffrey Hinton及其在多伦多大学的两名研究生组成的公司DNNresearch Inc.,但为什么它还没有开发出类似ChatGPT的产品,可能有以下几个原因: 不同的研发方向:Google在人工智能领域的研发方向可能与OpenAI&#xff…

【Linux】fork()函数详解

什么是fork? fork()函数通过系统调用并创建 一个与原来进程几乎完全相同的进程 此进程叫做子进程,两个进程做一样的事 但初始参数或者传入的变量不同,两个 进程便可以做不同的事 fork的返回值 在父进程中&#xff0…

iptables基础 iptables-save iptables-persistent持久化

介绍 iptables由上而下,由Tables,Chains,Rules组成。 一、iptables的表tables与链chains iptables有Filter, NAT, Mangle, Raw四种内建表: 1. Filter表 Filter是iptables的默认表,它有以下三种内建链(chains)&…

Kafka基础理论与常用命令详解(超详细)

文章目录 前言一、Kafka概述1. Kafka简介2. Kafka架构2.1 Broker(代理服务器)2.2 Topic(主题)2.3 Producer(生产者)2.4 Consumer(消费者)2.5 Consumer Group(消费者组&am…

synchronized加锁对象是什么、synchronized底层原理

一、synchronized加锁对象是什么 为了方便参考,以下是调用加了synchronized方法的代码: public class Test02_Synchronized {public static void main(String[] args) {init();}public static void init() {OutPut outPut new OutPut();new Thread(()…

Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯

目录 IMX6ULL 的 GPIO 操作方法 GPIO 操作相关名词 IMX6ULL 的 GPIO 模块结构 GPIO 模块内部 读 GPIO​编辑 写 GPIO​编辑 LED 点灯驱动程序 字符设备驱动程序框架 编写驱动程序的步骤: 先编写驱动程序代码: 再编写测试程序代码:…

PFA洗瓶一体成型PFA尖嘴洗涤瓶可储存强腐蚀溶剂

在化学实验室中用于装清洗溶液的一种容器,并配有发射细液流的装置的洗瓶,常常被称为喷洗瓶或喷雾洗瓶。这种洗瓶通常具有细长的喷嘴,能够产生细小的喷雾或细液流,用于对特定区域或实验器皿进行有针对性的清洗。喷洗瓶广泛应用于化…