docker-harbor的私有仓库

news2024/11/15 13:25:44

目录

harbor的特性

harbor的组件

docker-harbor部署

Docker1

页面访问

​编辑

上传镜像

创建项目

创建用户

给项目创建成员

上传私有仓库

docker2(远程主机上传)

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

docker3

实现远程仓库同步


仓库 保存镜像

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

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

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

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

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

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

相关文章

TSINGSEE青犀城市道路积水AI检测算法视频智能监管解决方案

近年来,由于城市区域内涝频发,遇到强降水天气出现路面严重积水的情况时有发生,影响交通通行甚至引发事故。所以,对下穿隧道、下沉式道路等路面积水情况的监测显得尤为重要。传统的监管方式很难及时发现道路积水情况,那…

wgcloud访问页面如何加前缀/wgcloud

nginx配置实现加/wgcloud - WGCLOUD

数据结构-07-二叉树

前面学习的栈、队列等等都是线性表结构。树是一种非线性表结构,比线性表的数据结构要复杂。 1-树tree “树”这种数据结构类似我们现实生活中的“树”,这里面每个元素我们叫作“节点”;用来连线相邻节点之间的关系,我们叫作“父子…

【深度学习】强化学习(四)强化学习的值函数

文章目录 一、强化学习问题1、交互的对象2、强化学习的基本要素3、策略(Policy)4、马尔可夫决策过程5、强化学习的目标函数6、值函数1. 状态值函数(State Value Function)a. 状态值函数的定义b. 贝尔曼方程(Bellman Eq…

现代C++ 实现单例模式

传统写法有什么问题 如果你了解过单例模式,双重检查锁定模式(Double-Checked Locking Pattern,后文简称DCLP)的写法你一定不会陌生,甚至你或许认为它是最正确的代码。 class Singleton { public://获取单例Singleton…

c# 为什么修改Font导致Location 变化

搜索引擎、各种人工智能,只有这个帮我解决了问题 然后我发现了这个 我就奇怪,一行行调试代码,最终发现设置Font,Location就变了,完全想不通

【C语言(十三)】

自定义类型:结构体 一、结构体类型的声明 1.1、结构体回顾 结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1.1、结构的声明 例如描述⼀个学生: struct Stu {char name[20];//名字int age;//年龄c…

又有AI工具啦~视频直接变动漫风格

把视频变成动漫风 - DOMO AI 看到网上发的把一段真的视频,转为动漫风格,是用的DOMO AI做的,就试了一下。 效果 随便找了个视频转为动漫风: 原视频 test_output 操作 1 、去Discord上搜索DOMO AI,加入社区。 2、选择…

vscode的文件和文件夹的警告标志如何消去

由于平时用vscode写一些java的小demo, 但是这个vscode的警告和错误管理很奇怪, 这个警告信息会显示在这个侧边的文件和文件夹中, 我上网上找能不能把这个给去掉的办法, 找了半天没找到。 于是我就自己去查了一下这个vscode的设置, 真让我找到了这方面的开关, 把下面的这个关闭…

win10 node-red安装及管理配置

win10 node-red安装及管理配置 一、安装node.js环境二、安装node-red环境2.1 node-red安装2.2 node-red安全登录方式 三、pm2管理node-red服务3.1 安装pm23.2 pm2管理node-red服务 四、常用命令4.1 npm命令4.2 pm2命令 更多 本文旨在详细介绍windows10系统下的node-red开发配置…

理解数字化转型:3个阶段、2个分类和3类价值

导读:数字化转型是基于IT技术提供业务所需要的支持,让业务和技术真正产生交互而诞生的。我们可以从概念及内涵、分类、价值等多个维度来理解企业数字化转型。 01 数字化转型的概念及内涵 数字化转型运用5G、人工智能、大数据、云计算等新一代数字技术&a…

最新盲盒交友脱单系统源码

盲盒交友脱单系统源码,学校 爱好 城市 地区 星座等等,首页轮转广告,页面美化,首页两款连抽高质量底部连抽,后台选择开关,邀请奖励爱心或者,提现达到金额有提成奖励,二级分销&#xf…

100ask imx6ull 驱动(设备树)装载步骤

1.修改设备树文件 路径: vim 100ask_imx6ull-sdk/Linux-4.9.88/arch/arm/boot/dts/100ask_imx6ull-14x14.dtb 2. 回到linux内核目录下,执行命令 /*路径:100ask_imx6ull-sdk/Linux-4.9.88*/ make dtbs 将生成的arch/arm/boot/dts/100ask_…

javascript实现Stack(栈)数据结构

上一篇文章我们理解了List这种数据结构,知道了它的特点和一些使用场景,这篇文章我们就来看一下栈这种数据结构,这里的栈可不是客栈哦,哈哈 栈其实和List非常像,使用javascript实现都是基于数组来实现 尝试理解Stack …

阿里云-虚拟主机退订

退订说明: https://help.aliyun.com/zh/cloud-web-hosting/product-overview/refund-instructions#section-bou-yhd-exp 进入菜单: https://usercenter2.aliyun.com/refund/refund 注: 1、退款只能到余额 2、已开票的款项,会…

【Spark精讲】RDD特性之数据本地化

目录 首选运行位置 数据的本地化级别 谁来负责数据本地化 数据本地化执行流程 调优 代码中的设置方法 首选运行位置 上图红框为RDD的特性五:每个RDD的每个分区都有一组首选运行位置,用于标识RDD的这个分区数据最好能够在哪台主机上运行。通过RDD的…

SQL中的三值逻辑:TRUE、FALSE 和 UNKNOWN。

在SQL中,通常采用三值逻辑处理条件表达式的真值。这种逻辑是基于三种可能的真值状态:TRUE、FALSE 和 UNKNOWN。 TRUE(真): 表示条件为真或成立。 FALSE(假): 表示条件为假或不成立。…

迎接数字化,亿发智能ERP管理系统解决方案,助力湖南企业精益生产提效

近年来,湖南省生产企业都尝试调整升级,进行数字化转型。因传统车间的管理业务存在着多方面的问题,如信息传输不畅、缺乏共享和互动功能,以及缺乏先进的统计、分析、预测及决策手段等,直接影响了公司生产效率的提高&…

LLM(六)| Gemini:谷歌Gemini Pro 开放API ,Gemini Pro 可免费使用

近期,Google Gemini Pro 开放API 了,且Gemini Pro 可免费使用!Gemini Pro支持全球180个国家的38种语言,目前接受文本作为输入并生成文本作为输出。 Gemini API 地址:http://ai.google.dev Gemini Pro 的表现超越了其他…

shopee数据分析工具:提升电商竞争力,探索Shopee工具的价值

在如今竞争激烈的电商市场中,商家需要利用各种工具和策略来提高自己的竞争力。Shopee作为一家知名的电商平台,为商家提供了一系列强大的数据分析工具,帮助商家更好地了解市场趋势、优化产品策略和提高运营效果。本文将介绍几款常见的Shopee数…