Docker仓库harbor私服搭建

news2025/3/14 3:09:59

Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。

提供分层传输机制,优化网络传输
Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
支持水平扩展集群
当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
良好的安全机制
企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

一、安装docker、docker-compose、harbor

yum -y install docker
访问harbor release page,下载Harbor软件tgz压缩包。
或者
wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz 
docker-compose下载地址:
https://github.com/docker/compose/releases
或者使用pip安装(环境是python3因此使用pip3)
pip3 install docker-compose -i https://mirrors.aliyun.com/pypi/simple/

二、解压

tar zxvf harbor-offline-installer-v2.9.0.tgz 

在这里插入图片描述
三、配置
将 harbor.yml.tmpl 复制一份harbor.yml进行修改,修改hostname和端口
在这里插入图片描述
四、安装
在harbor目录下面执行

./install.sh
docker-compose up -d

五、访问测试
默认用户 和登录密码 可以从 harbor.yml 中可以看到

admin / Harbor12345
访问 http://192.168.100.20:1122/

在这里插入图片描述在这里插入图片描述在这里插入图片描述

注意:
1、执行install.sh如果出现报错需要将https注释掉
在这里插入图片描述

在这里插入图片描述
2、docker-compose ps查看有restarting的状态要去/var/log/harbor中看对应日志报错信息

在这里插入图片描述处理方式:将common/config改成最大权限777后重启docker-compose后正常
docker-compose down后再docker-compose up -d
在这里插入图片描述

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

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

相关文章

Kubernetes 基础

Kubernetes是什么 K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型, 后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。 云原生基金会(CNCF)于2015年12月成立,隶属于Linux基金会…

Lock锁的使用方法(一)

public class LockTest01 {private Lock lock new ReentrantLock();public static void main(String[] args) throws InterruptedException {/*** Lock锁 获取锁和释放锁 需要开发人员自己定义*/LockTest01 lockTest01 new LockTest01();lockTest01.print();Thread.sleep(500…

C++基础入门详解(二)

文章目录 引用语法和使用场景基本语法使用场景引用作函数参数引用作返回值常引用 权限问题权限的放大、平移、缩小类型转化时使用的 const 引用的底层逻辑 内联函数内联函数缺点 引用 C中的引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器…

海量小文件数据传输如何确保安全性

在当今的信息化社会,企业需要处理和传输的文件越来越多,越来越大。其中,海量小文件数据是一种特殊的数据类型,它由数亿级别的小文件(通常小于1MB)组成,它在图片网站、物联网设备、日志分析等场景…

尚硅谷Flink(完)FlinkSQL

🧙FlinkSQL🏂🤺 Table API 和 SQL 是最上层的 API,在 Flink 中这两种 API 被集成在一起,SQL 执行的对象也是Flink 中的表(Table),所以我们一般会认为它们是一体的。 SQL API 是基于…

C#的数据集:DataSet对象

目录 一、合并DataSet内容 1.源码 2.生成效果 二、 复制DataSet内容 1.源码 2.生成效果 DataSet对象就像存放于内存中的一个小型数据库。它可以包含数据表、数据列、数据行、视图、约束以及关系。通常,DataSet的数据来源于数据库或者XML,为了从数…

智慧文旅推动“互联网+”深入发展、促进数字经济加速增长

1997年之后,科技开始成为旅游行业发展的重要生产要素和重要动力。 文旅1.0时代,科技所能提供的信息和服务基本都需要游客在旅游开始之前做大量的准备工作,而在旅游过程中却无法随机应变,对于旅游景点来说,也只是更换了…

如何在C程序中使用libcurl库下载网页内容

概述 爬虫是一种自动获取网页内容的程序,它可以用于数据采集、信息分析、网站监测等多种场景。在C语言中,有一个非常强大和灵活的库可以用于实现爬虫功能,那就是libcurl。libcurl是一个支持多种协议和平台的网络传输库,它提供了一…

在.Net 5或更高版本的.Net中使用appsettings.json配置文件

在.Net 5或更高版本的.Net中使用appsettings.json配置文件 对于 .NET Framework 应用程序,我们始终使用app.config来存储应用程序的配置值。 在.NET Core或者.Net 5包括其他更高版本的.Net框架中,我们需要使用appsettings.json文件,而不是A…

餐饮业的现状能拉动消费市场吗?

有关“餐饮店倒闭成趋势”话题的讨论在互联网上愈加热烈起来,足以说明“全民消费,拉动经济”的希望尚未变成现实。从笔者寄居养老的风水宝地——国家AAAA级旅游景区崇州市街子古镇的餐饮店,在今年中秋、国庆双节假日期间火了几天后生意又复归…

计算机毕业设计 基于Spring Boot智能停车计费系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

C++之基于Winsock2封装UDPServer与UDPClient

文章目录 Socket过程UDPServer.hUDPServer.cppUDPClient.hUDPClient.cppmain.cppCMakeLists.txt测试截图 Socket过程 UDPServer UDPClient UDPServer.h #ifndef UDPSERVER_H_INCLUDED #define UDPSERVER_H_INCLUDED#include <iostream> #include <string> #inclu…

漫谈下一代防火墙与Web应用防火墙的区别

如今&#xff0c;Web应用程序变得越来越复杂&#xff0c;更是黑客非常感兴趣的目标。在谈到网络安全的话题时&#xff0c;我们总会讨论下一代防火墙与Web应用防火墙的区别。当已经拥有下一代防火墙&#xff08;NGFW&#xff09;时&#xff0c;为什么需要Web应用程序防火墙&…

靶机 Raven2 / UDF 提权

Raven2 信息搜集 存活检测 详细扫描 后台扫描 dirsearch -u http://10.4.7.135 -x 403 # 过滤状态码为 403 的后台页面Webshell 漏洞发现 访问扫描出的后台页面 /vendor 页面 发现网站使用了 PHPMailer PHPMailer是一个用于发送电子邮件的PHP库。它提供了一个简单而灵活的…

PFL-MoE:基于混合专家的个性联邦学习

文章链接&#xff1a;PFL-MoE: Personalized Federated Learning Based on Mixture of Experts 发表会议&#xff1a;APWeb-WAIM 2021&#xff08;CCF-C&#xff09; 目录 1.背景介绍联邦学习non-IIDPFL 2.内容摘要关键技术A.PFL-MoEB.PFL-MFC.PFL-MFE 实验结果 3.文章总结 1.…

QT 绘制文字轮廓

最近在做文字绘制&#xff0c;需要用到绘制文字轮廓&#xff0c;发现QT里面有自己的解决方案&#xff0c;分享出来&#xff1b; 具体贴代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPainter>MainWindow::MainWindow(QWidg…

Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战

目录 一、QInputDialog 类(输入对话框) 二、QMessageBox 类(消息框) 三、QMessageBox 类(自定义消息框) 一、QInputDialog 类(输入对话框) QInputDialog 是一个提供输入对话框的 Qt 类。它允许用户输入文本&#xff0c;并提供给用户选择可用选项的选项列表。QInputDialog 可…

Elasticsearch使用——结合MybatisPlus使用ES es和MySQL数据一致性 结合RabbitMQ实现解耦

前言 本篇博客是一篇elasticsearch的使用案例&#xff0c;包括结合MybatisPlus使用ES&#xff0c;如何保证MySQL和es的数据一致性&#xff0c;另外使用了RabbitMQ进行解耦&#xff0c;自定义了发消息的方法。 其他相关的Elasticsearch的文章列表如下&#xff1a; Elasticsear…

ES6 Symbol 数据结构

1. Symbol概念以及引入原因 ES6 引入了的一种新的原始数据类型Symbol&#xff0c;表示独一无二的值。它是 JavaScript 语言的第七种数据类型&#xff0c;前六种是&#xff1a;undefined、null、布尔值&#xff08;Boolean&#xff09;、字符串&#xff08;String&#xff09;、…

政务OA协同办公系统:数字化工具助力政府服务升级

在当今数字化时代&#xff0c;政务OA协同办公系统已经成为政府服务升级的重要工具。通过引入数字化技术&#xff0c;政务OA协同办公系统可以实现高效的信息传递、流程优化以及资源整合&#xff0c;进一步提升政府服务的质量和效率。本文将探讨政务OA协同办公系统的优势及其在数…