docker-harbor私有仓库部署和管理

harbor:开源的企业级的docker仓库软件

仓库:私有仓库 公有仓库 (公司内部一般都是私有仓库)

habor 是有图形化的,页面UI展示的一个工具,操作起来很直观。

harbor每个组件都是由容器构建的,所以安装harbor必须要有docker

docker-compose 一键编排,所以也是需要安装的。

harbor:

1、通过角色对权限进行控制,用户和仓库都是基于项目进行组织,不同的用户在不同的项目中拥有不同的权限

2、镜像复制,每个仓库(之间可以通信)之间可以互相复制里面的镜像

3、UI界面可以对镜像进行删除,删除了之后也会释放本机的空间

4、图形化界面,可以用浏览器进行访问

5、审计管理,所有对镜像仓库的操作都有记录,用于审计管理


harbor的组件:

主要的组件:

1、porxy:nginx的前端页面,nginx的配置中做了反向代理,浏览器不同的请求转发到后端不同的容器中。

2、Registry:仓库,保存镜像,同时push上传/pull下载(核心功能)

3、core services:Harbor的核心功能,对用户进行授权,检测仓库内镜像的变化以及token,根据不同的权限给予不同的token(token相当于身份的认证)

4、database:负责存储用户的权限,审计日志,docker镜像的分组信息

5、JOB services:镜像复制,不同仓库之间进行复制

6、log collector:日志收集工具

以上组件都是由容器运行,docker-compose一键拉取部署


实验环节

客户端:docker

服务端1:harbor docker docker-compose

服务端2:harbor docker docker-compose

1、部署服务端

2、客户端和服务器之间上传,下载镜像,权限控制(重要)

3、仓库之间的镜像复制。(服务器迁移用得到)

拖入harbor-offline-installer-v2.8.1.tgz 压缩包

对其进行解压tar -xf

解压完成出现harbor这个目录,进入这个目录中,查看这个目录中的文件

出现一个harbor.yml.tmpl这个文件,对其进行备份,备份的文件名称为harbor.yml

对harbor.yml配置文件进行编辑

在第5行修改一下ip地址为192.168.124.10

5 hostname: 192.168.124.70

 第13行至18行把https注释掉

13 #https:14   # https port for harbor, default is 44315   #port: 44316   # The path of cert and key files for nginx17   #certificate: /your/certificate/path18   #private_key: /your/private/key/path

第34行管理员的密码可更改也可以不改,改成自己熟悉的密码

34 harbor_admin_password: 123456

 第53行data_volume:上传到仓库之后,仓库保存的镜像路径

53 data_volume: /data

 ./prepare 安装和拉取harbor依赖的镜像

Unable to find image 'goharbor/prepare:v2.8.1' locally
v2.8.1: Pulling from goharbor/prepare
fae4a5262fc3: Pull complete
9349e879c799: Pull complete
f70ee3e2dda4: Pull complete
e4481ec28daf: Pull complete
5e2207505ae9: Pull complete
8a696946fd36: Pull complete
31fd4a582b38: Pull complete
940005f64c71: Pull complete
bac5bba6e7f3: Pull complete
93231c0f7f57: Pull complete
Digest: sha256:22f96c244c2b0644dadc8049f8a49847e76e946743e12f78f69eac682ece4fc9
Status: Downloaded newer image for goharbor/prepare:v2.8.1
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

./install.sh执行harbor软件里面的脚本安装相关软件

✔ ----Harbor has been installed and started successfully.----

 在浏览器访问192.168.124.70这个页面

往库里面的项目上传镜像

进入这个harbor库中命令

[root@localhost harbor]# docker login -u admin -p 123456 http://192.168.124.70

先把镜像打上一个标签

 docker tag nginx:1.22 192.168.124.70/test1/nginx:v1

必须以192.168.124.70/test1/nginx:v1这种格式,不然浏览器的库识别不了

然后往库中的项目上传镜像

[root@localhost harbor]# docker push 192.168.124.70/test1/nginx:v1
The push refers to repository [192.168.124.70/test1/nginx]
9543dec06aa8: Pushed
ccf4f419ba49: Pushed
21f8452ebfb1: Pushed
25bbf4633bb3: Pushed
a4f34e6fb432: Pushed
3af14c9a24c9: Pushed
v1: digest: sha256:9081064712674ffcff7b7bdf874c75bcb8e5fb933b65527026090dacda36ea8b size: 1570

角色:

1、先添加用户,用户就是一个普通用户,私有项目是无法浏览的

2、要浏览私有项目,必须要项目中添加成员,设定成员的角色

受限访客:只能看,不能上传,也不能下载,也没有其他权限

访客:拥有只读权限,可以拉取镜像,不能上传,也无法删除镜像

开发者:可以读写,但是不能删除

维护人员:既有读写权限,也可以对项目的权限进行修改

项目管理员:读写,修改,删除都可以

在docker.service配置添加ip地址

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

项目迁移

安装harbor

安装配置docker-compose

1 mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
2 chmod 777 /usr/local/bin/docker-compose
3 docker-compose -v
4 Docker Compose version v2.18.0
5 tar -xf harbor-offline-installer-v2.8.1.tgz
6 ls
7 containerd  harbor  harbor-offline-installer-v2.8.1.tgz  rh
8 cd harbor
9 ls
10 common.sh  harbor.v2.8.1.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
11 cp harbor.yml.tmpl harbor.yml
12 vim harbor.yml
13 ./prepare #编译环境
14 ./install.sh   ##开始安装
#如果需要修改harbor配置文件重新./install.sh在执行一次即可

进入页面

复制管理新建规则

如果不选则拉取所有

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

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

相关文章

新手教学系列——利用 Loguru 对日志进行分类处理

在现代应用程序中,日志记录是确保系统健康运行的关键因素之一。尤其在复杂的系统中,我们可能需要将日志按不同的需求进行分类和处理。Loguru 作为一款功能强大的日志库,提供了灵活的日志记录方式。今天,我们将探讨如何使用 Loguru 的过滤功能来分类处理系统日志和关键节点日…

算法-矩阵置零(73)

leetcode题目链接 这道题因为要求在O(1)的空间复杂度下面完成,所以最好的情况就是利用矩阵本身有的元素进行代码编写,而不另外开辟空间。 所以思路如下: 1.遍历第一行第一列,观察是否需要置0&#xff0c…

自定义注解,实现字段加密解密

根据业务需求,要求多部分字段,进行加解密,想到实现方式,就是通过自定义的注解AOP来实现 首先新建一个注解,注意ElementType.FIELD类型,说明这个注解只能作用在字段上 Target({ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) public interface NeedEncrypt { }在新建…

[CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - trainer篇

[CLIP-VIT-L Qwen] 多模态大模型源码阅读 - trainer篇 前情提要源码阅读导包逐行解读compute_loss方法(重构)整体含义逐行解读 save_model函数(重构)整体含义逐行解读 create_optimizer函数(重构)整体含义…

CI/CD

目录 1.什么是CI/CD? 2.Gitlab仓库部署 3.部署Jenkins 3.1 使用jenkins拉取代码 3.2 对代码进行编译、打包 4.部署tomcat服务器 1.什么是CI/CD? 通俗来说就是启动一个服务,能够监听代码变化,然后自动执行打包,发布等流程: CICD 是持…

Jmeter版本下载国内外镜像源

官网最新版本 https://archive.apache.org/dist/jmeter/binaries/历史版本 https://archive.apache.org/dist/jmeter/binaries/ 国内镜像源1.阿里云 https://mirrors.aliyun.com/apache/jmeter/binaries/2.腾讯云 https://mirrors.cloud.tencent.com/apache/jmeter/

dubbo:dubbo+nacos整合springcloud gateway实现网关(三)

文章目录 0. 引言1. 集成gateway网关1.1 实操步骤1.2 dubbo提供者注册到nacos出现两个实例的问题 2. 源码3. 总结 0. 引言 上次我们讲到使用zookeeper作为注册中心搭建dubbo微服务框架,但是我们还缺少一个服务总入口,也就是我们的网关服务。所以今天我们…

Linux设置内网时间同步

背景:公司有三台服务器检测到同步外网的时间,现需要将其修改为同步公司内网自己搭建的ntp服务器 1、登录服务器检查 同步外网无疑 2、修改配置文件,同步内网ntp服务器时间 配置文件源内容如下: 修改后如下: [rootl…

特斯拉电动卡车事故引发安全调查,汽车制造商电动车战略调整

特斯拉电动卡车事故引关注 周三,美国国家运输安全委员会宣布启动对特斯拉电动半挂卡车在加州高速上发生的事故及随后起火事件的全面调查。此次调查将联合加州公路巡警局共同进行,旨在查明事故原因,确保道路安全。事故发生在周一深夜&#xff…

excel实现图片转文字功能/excel 实现导出图片功能/excel导出图片不失真(解决excel导出图片模糊的问题)

excel实现图片转文字功能 excel实现图片转文字功能:方法1:使用QQ的在线文档进行图片转文字方法2:使用WPS的excel文档进行图片转文字pdf图片转表格 使用excel 导出图片的方法(使用Excel内置的“复制为图片”功能)1. 复制…

在 uboot 中实现 UDP 协议

一、明确背景 uboot中有许多通信协议,像TFTP、NFS等,这些协议底层都是基于UDP协议来实现的,由于有一个板子在 uboot 段进行固件下载更新的需求,本来想基于TCP协议来实现自定义通信协议(TCP有自带的拥塞控制和重传机制&…

2024生成式AI商业落地白皮书_火山引擎

更多详细内容请下载资源 2024生成式AI商业落地白皮书-火山引擎

基于Python的mediapipe和opencv的人体骨骼、人体姿态关键点的实时跟踪项目

随着计算机视觉技术的发展,人体姿态估计在虚拟现实、运动分析、人机交互等领域得到了广泛应用。传统的姿态估计方法通常依赖于深度学习模型,需要大量的计算资源。而 Google 开发的 MediaPipe 框架则提供了高效且易于使用的解决方案,它可以在各…

Leetcode 237.19.83.82 删除链表重复结点 C++实现

Leetcode 237. 删除链表中的节点 问题:有一个单链表的head,我们想删除它其中的一个节点node。给你一个需要删除的节点 node 。你将 无法访问 第一个节点head。链表的所有值都是唯一的,并且保证给定的节点 node不是链表中的最后一个节点。删除…

重磅!RISC-V+OpenHarmony平板电脑发布

仟江水商业电讯(8月18日 北京 委托发布)RISC-V作为历史上全球发展速度最快、创新最为活跃的开放指令架构,正在不断拓展高性能计算领域的边界。OpenHarmony是由开放原子开源基金会孵化并运营的开源项目,已成为发展速度最快的智能终…

【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)

目录 🍔 逻辑回归应用场景 🍔 极大似然估计 2.1 为什么要有极大似然估计? 2.2 极大似然估计步骤 2.3 极大似然估计的例子 🍔 Sigmod函数模型 3.1 逻辑斯特函数的由来 3.2 Sigmod函数绘图 3.3 进一步探究-加入线性回归 3…

OW-VISCap——开放世界视频实例分割方法研究

概述 论文地址:https://arxiv.org/pdf/2404.03657 本文提出了一种名为 OW-VISCap(开放世界视频实例分割和字幕)的方法。其三大贡献是 开放世界对象查询:除了已知对象查询外,还引入了开放世界对象查询,以发…

专题---自底向上的计算机网络(计算机网络相关概述)

目录 计算机网络相关概述 物理层 数据链路层 网络层 运输层 应用层 网络安全 1.计算机网络相关概述(具体细节http://t.csdnimg.cn/NITAW) 什么是计算机网络? 计算机网络是将一个分散的,具有独立功能的计算机系统&#x…

jmeter中添加ip欺骗

1、首先在本机电脑中通过配置文件创建添加ip的配置文件,先创建一个txt格式的,直接修改文件名以及后缀为ips.bat 2、编辑该ips.bat文件,在文件中输入如下内容,用于快速给本机添加ip地址,(2,1&…

四川正信法律:男朋友借钱拉黑我了怎么办

在情感的海洋中,我们或许都曾遇到过打着爱情旗号的骗局。当男朋友借钱后选择拉黑,这不仅是物质上的损失,更是心灵上的重创。面对这样的困境,我们该如何应对? 面对现实,接受这一切的发生。痛苦与愤怒虽为正常反应&…