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

news2024/12/23 11:46:40

目录

一、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.coloradmin.cn/o/1312628.html

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

相关文章

Linux 非阻塞网络IO模式

非阻塞网络IO模式介绍 当用户线程发起一个 read 操作后,并不需要等待,而是马上就得到了一个结果。如果结果是一个 error 时,它就知道数据还没有准备好,于是它可以再次发送 read 操作。一旦内核中的数据准备好了,并且又…

Tita集成无代码API:电商客服与营销系统的升级

API的力量:优化电商与客服系统的无代码集成解决方案 在数字化转型的时代,电商与客服系统的高效运作对于企业的成功至关重要。无代码API平台Tita为此提供了一站式解决方案,使企业在无需深入的代码开发工作的前提下,便能实现各种系…

安装2023最新版Java SE 21.0.1来开发Java应用程序

安装2023最新版Java SE 21.0.1来开发Java应用程序 Install the latest version of Java SE 21.01 to Develop Java Applications By JacksonML 本文简要介绍如何下载和安装2023年最新版Java Development Kit (简称JDK,即Java开发工具包标准版)21.0.1&…

互联网加竞赛 python 爬虫与协同过滤的新闻推荐系统

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python 爬虫与协同过滤的新闻推荐系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&…

编程性能调优方案

微信公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、字符串与集合性能优化 1.String 对象的实现 在 Java 语言中,Sun 公司的工程师们对 String 对象做了大量的优化,来节…

力扣 | 437. 路径总和 III

437. 路径总和 III mport java.util.ArrayList; import java.util.List;/*** int的取值范围&#xff1a;* -2^31 ~ 2^31-1* <p>* -2147483648 ~ 2147483647&#xff08;约等于10的9次方&#xff09;* <p>* long long的取值范围&#xff1a;* -2^63 ~ (2^63-1&…

gitee创建一个新仓库和提交代码到码云

gitee创建一个新的项目并提交到码云 新建一个仓库 填写创建基本信息 以这个新创建的仓库保存项目所有的代码 在IDEA中克隆这个项目 从版本控制中新建一个git项目 从码云成功克隆项目 创建微服务模块 创建第商品模块 以以上同样的步骤完成下面几个模块的创建 聚合总…

软考科目如何选择?

软考科目繁多&#xff0c;让许多学弟学妹感到困惑&#xff0c;不知道该选择哪个科目。以下是一些建议&#xff0c;可以根据个人实际需求选择备考的科目。 1、初级是可选的 软考初级非常简单&#xff0c;适合刚刚入门学习的朋友报考。对于一些有基础的朋友&#xff0c;建议直接…

基于JAVA的校园电子商城系统论文

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此校园购物信息的…

智慧工地源码:为施工企业提供专业落地的解决方案

智慧工地利用物联网、大数据、AI等核心技术&#xff0c;实时采集现场数据&#xff0c;自动分析&#xff0c;精准分析、智能决策、科学评价&#xff0c;形成一套数据驱动的新型管理模式。为施工企业提供生产提效、安全可控、成本节约的项目管理解决方案&#xff0c;提升项目部管…

AI猫图片展示

AI猫展示 文章目录 AI猫展示

环球市场的风险管理:跨境电商如何规遍全球商务

随着全球化的推进&#xff0c;跨境电商正成为连接不同国家和地区商业的桥梁。然而&#xff0c;这一全球化的商业格局也伴随着各种潜在的风险和挑战。 本文将深入探讨跨境电商在环球市场中的风险管理策略&#xff0c;旨在揭示如何规遍全球商务&#xff0c;确保企业在全球范围内…

用什么样的开源流程表单实现办公流程化?

近日&#xff0c;有不少热心网友询问道&#xff1a;如果要实现流程化办公&#xff0c;让整个办公效率火速提升上来&#xff0c;可以用什么样的开源流程表单工具&#xff1f;大伙都知道&#xff0c;随着低代码开发平台的盛行&#xff0c;办公效率也得到很大的提升&#xff0c;它…

Seata服务端启动流程

1.run方法启动 当ServerApplication的run方法启动的时候会调用到run方法的callRunners方法中对实现了CommandLineRunner接口的类进行run方法的加载 而在seata中ServerRunner实现了CommandLineRunner接口所以会加载到ServerRunner 的run方法中实现seata服务端的启动 Overridepu…

“机器人V2.0时代已来”-任务规划难题迎刃而解,世界因机器人改变而翻转!

01-VILA背景简介 2022年&#xff0c;Michael Ahn, Anthony Brohan等人提出“Do as i can, not as i say: Grounding language in robotic affordances”算法。本文指出虽然大型语言模型可以编码关于世界的丰富语义知识&#xff0c;而这些知识对旨在对用自然语言表达的高级、时…

系统的安全性设计

要设计一个安全的系统&#xff0c;除了要了解一些前面讲到的常用的保护手段和技术措施外&#xff0c;还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识&#xff0c;这样才能对系统的安全作有针对性的设计和强化&#xff0c;即“知己知彼&#xff0c;百战百胜”。 下…

【超图】SuperMap iClient3D for WebGL/WebGPU ——暴雪

作者&#xff1a;taco 时隔多年北京又开始降下了特大暴雪。身为打工人的你有没有居家办公呢&#xff1f;反正小编我是没有。既然没有借着暴雪的功劳居家办公&#xff0c;那就接着雪来输出一篇博客好了。基于SuperMap iClient3D for WebGL/WebGPU 实现暴雪仿真效果。 先来看下效…

三年没回家过年,你的羽绒服准备好了吗?

2023进入尾声&#xff0c;这一年&#xff0c;我们在“阳康”之后重新出发&#xff0c;找回了烟火气&#xff0c;和错过几年的山水重逢&#xff0c;向往远方的同时也更爱眼前的点滴&#xff0c;逐渐重建起对美好生活的期待。 把生活态度投射到社媒上&#xff0c;出圈的热点话题…

设置一个vue文件的全局模板

VsCode在新建一个.vue文件的时候是空白的&#xff0c;需要我们自己输入片段&#xff0c;可这些在每次新建.vue文件都需要自己手敲&#xff0c;所以创建一个模板方便使用 设置vue模板 导入 {"生成 vue 模板": {"prefix": "vue","body"…

【每日一题】反转二叉树的奇数层

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;广度优先搜索方法二&#xff1a;深度优先搜索 写在最后 Tag 【深度优先搜索】【广度优先搜索】【二叉树】【2023-12-15】 题目来源 2415. 反转二叉树的奇数层 题目解读 反转二叉树奇数层的节点。 解题思路 对于二叉…