docker-harbor的私有仓库

目录

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/harborvim 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: 123456data_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. service13行
ExecStart=/usr/bin/dockerd --insecure-registry 20.0.0.31systemctl daemon-reload
systemctl restart docker.servicedocker login -u xiaobu -p Abc123456 http://20.0.0.31docker pull logstashdocker 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/harborvim 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: 12345data_volume: /data
保存镜像目录./perpare
https:docker-harbor	默认通信协议是https加密通信协议./install.sh

页面登录

网页访问20.0.0.33
账号    admin
密码    12345

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

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

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

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

相关文章

WPF仿网易云搭建笔记(1):项目搭建

文章目录 前言项目地址动态样式组合样式批量样式覆盖Prism新建UserControler修改Material Design 笔刷收放列表可以滚动的StackPanel列表点击展开或折叠 实现效果 前言 今天接着继续细化代码,把整体框架写出来 项目地址 WPF仿网易云 Gitee仓库 动态样式 【WPF】C#…

企业微信模板卡片消息

投票选择型和多项选择型卡片仅企业微信3.1.12及以上版本支持 文本通知型、图文展示型和按钮交互型三种卡片仅企业微信3.1.6及以上版本支持(但附件下载功能仍需更新至3.1.12) 微工作台(原企业号)不支持展示模板卡片消息 文本通知型…

C#函数(方法)

C# 函数(Method) 函数也被称为方法(在对象内部叫方法,不隶属于对象的时候叫函数)。 方法是一段可重复使用的代码块,用于执行特定的操作,也可以有返回的值。 函数分为两大类:静态函数…

知识库SEO:提升网站内容质量与搜索引擎排名的策略

随着搜索引擎算法的不断更新和优化,单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO(搜索引擎优化)已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…

【隐私计算】tf-encrypted隐私计算框架/库基础

tf-encrypted介绍 TF Encrypted是TensorFlow中一个用于加密机器学习的框架,它看起来和感觉上都很像TensorFlow,利用了Keras API 的易用性,同时通过安全多方计算和同态加密实现了对加密数据的训练和预测。TF Encrypted的目标是使保护隐私的机器…

Shell 脚本 基础 学习 笔记 (超详细,适合新手观看学习)

Shell脚本语言 Shell关键字Shell变量命名规则使用变量赋值变量自定义变量命令行交互read定义变量类型declare预定义变量环境变量 Shell字符串Shell中的集合类型数组(array)数组定义和赋值数组元素访问获取数组长度 map Shell运算算数运算符关系运算符布尔…

关东升老师从小白到大牛系列丛书(由清华大学出版社出版)

助力技术成长,成就大牛之路 在这个科技日新月异的时代,掌握一门编程语言或专业技能已是必备,不再是奢侈。清华大学出版社出版的“从小白到大牛”的系列丛书,涵盖Python、Java、Kotlin、Android和SQL,助你快速在技术之…

Ubuntu22下源码编译CEF(branch=6045)+mp4+mp3笔记

前段时间编译了win版本,最近捣鼓一下Ubuntu版本。 配置网络,Ubuntu在网络配置填写了代理,在终端还是要输入 set http_proxyxxxx:xx set https_proxyxxxx:xx 这样避免大部分的git代码下载 为了减少下载代码和避免git那个几G内存的坑,我直接…

Python 标准库SYS

标准库sys引入及方法介绍和示例。 简介 sys 模块主要负责与 Python 解释器进行交互,该模块提供了一系列用于控制 Python 运行环境的函数和变量。 命令行参数 可以获取传递给python 执行文件的命令行参数,命令行参数是由sys模块存储在名为argv的列表中&…

通信子网在计算机网络中的地位和作用

一、通信子网是计算机网络的核心组成部分 通信子网是计算机网络的核心组成部分,它负责为计算机网络中的各种设备提供通信支持。无论是主机之间的数据传输,还是主机与终端之间的数据通信,都需要通过通信子网来实现。通信子网是连接各个设备的关…

严世芸龟法养生经

文章目录 严世芸理念荤素搭配,不偏嗜动静结合心平气和 龟息法 严世芸 严世芸,出生于1940年,现任上海中医药大学的主任医师,教授。他父亲是近代上海有名的中医,他又是著名医家张伯臾的亲传弟子。 从小就在父亲诊室里长…

leetCode算法—3.无重复字符的最长子串

1.给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 …

PO 对象被锁定

问题描述 在创建PO对象的时候,由于上次电脑断网导致PO连接中断,但服务器中登录用户还在占用PO对象,需要手动在POD中删除锁对象才可编辑 解决方案 登录到POD页面,点击右上角Administration 点击Lock Overview,查看…

营销投放下半场,游戏行业如何寻觅进化空间?

摘要:微博,游戏行业突围市场新利器 游戏行业,格局永远在变。 从2017年互联网大厂集体盯上游戏大蛋糕,到2021年行业收缩,再到今年上半年实际销售收入继去年首次出现同比下滑…几经过山车式行情的游戏行业,…

加密友好不意味容易!亚洲地区实施了世界上最严格的加密规定!

2023年的一大主题是亚洲作为加密货币世界中至关重要的地区的持续崛起。这在很大程度上要归功于新加坡等著名的数字资产中心,以及香港和日本的重新崛起。 虽然这些司法管辖区确实欢迎数字资产,但围绕它们的炒作可能会有些误导,加密友好并非意味…

【AI】如何准备mac开发vue项目的环境

为了在Mac上开发Vue项目,你需要准备一些工具和环境。以下是主要的步骤: 安装Node.js和npm: Vue.js是一个基于JavaScript的框架,因此你需要Node.js环境。访问Node.js官网下载并安装Node.js,这也会自动安装npm&#xff0…

图像生成中的“Classifer-free guidance”是什么?

在图像生成领域,"Classifier-free guidance"是一种用于改善条件生成模型性能的技术,特别是在使用生成对抗网络(GANs)或扩散模型等生成模型时。这个概念最近在与扩散模型相关的文献中变得流行,尤其是在OpenAI…

玩转大数据18:大规模数据处理与分布式任务调度

引言 在数字化时代,数据成为了一种宝贵的资源,对于企业和组织来说,如何有效地处理和分析这些数据成为了关键的竞争力。大规模数据处理与分布式任务调度作为大数据处理的核心技术,为解决这一问题提供了有效的解决方案。 随着数据…

赛宁网安多领域亮相第三届网络空间内生安全发展大会

2023年12月8日,第三届网络空间内生安全发展大会在宁开幕。两院院士、杰出专家学者和知名企业家相聚南京,围绕数字经济新生态、网络安全新范式进行广泛研讨,为筑牢数字安全底座贡献智慧和力量。 大会围绕“一会、一赛、一展”举办了丰富多彩的…

vue实现滑动验证

效果图: 源码地址:github文档地址: https://github.com/monoplasty/vue-monoplasty-slide-verify 使用步骤:1,安装插件: npm install --save vue-monoplasty-slide-verify 在main.js中使用一下&#xff…