当前位置: 首页 > news >正文

docker -私有镜像仓库 - harbor安装

文章目录

  • 1、镜像仓库简介
  • 2、Harbor简介
  • 3、下载与安装
    • 3.1、下载
    • 3.2、安装
      • 3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件
      • 3.2.2、解压tgz包
      • 3.2.3、切换到解压缩后的目录下
      • 3.2.4、准备配置文件
      • 3.2.5、修改配置文件
  • 4、启动Harbor
  • 5、启动关闭命令
  • 6、访问harbor

docker远程仓库 --》 gitee maven远程仓库
docker局域网仓库 --》 gitlab maven局域网仓库(阿里云镜像仓库)
一般公司开发中将项目的镜像放在局域网docker镜像仓库中管理。


docker:自带的registry镜像仓库过于简单
docker:harbor搭建企业级的私有镜像仓库

1、镜像仓库简介

镜像仓库作用:存储镜像,可以通过镜像仓库实现镜像的共享

镜像仓库的使用流程:
在这里插入图片描述
镜像仓库分类:

1、公有镜像仓库:可以理解成云仓库、公有仓库,是由某个组织、公司维护的仓库,对互联网开放,所有人共享。如官方的仓库docker hub。

2、私有镜像仓库:不对外开放。一般情况下只在公司内网中使用,用于加快镜像拉取速度、维护公司资产。

私有镜像仓库种类:

  • Registry是Docker自带的镜像仓库,部署运行非常简洁,非常适合在测试时使用。

  • Harbor

2、Harbor简介

Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开

源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

3、下载与安装

Harbor被部署为多个Docker容器,因此可以部署在任何支持Docker的Linux服务器上,且需要Docker和Docker Compose才能安装。

3.1、下载

下载地址:https://github.com/goharbor/harbor/releases
在这里插入图片描述

3.2、安装

具体步骤如下所示:

3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件

上传到 /opt 目录下

# 解压tgz包
tar -zxvf harbor-offline-installer-v2.8.2.tgz   
# 切换到解压缩后的目录下
cd harbor
# 准备配置文件
cp harbor.yml.tmpl harbor.yml
# 修改配置文件        
vim harbor.yml                                   - hostname修改为自己虚拟机的ip地址- 注释所有的https的配置: 

在这里插入图片描述

在这里插入图片描述

3.2.2、解压tgz包

[root@localhost opt]# tar -zxvf harbor-offline-installer-v2.8.2.tgz
harbor/harbor.v2.8.2.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl

在这里插入图片描述

3.2.3、切换到解压缩后的目录下

[root@localhost opt]# cd harbor/
[root@localhost harbor]# ls
common.sh  harbor.v2.8.2.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare

3.2.4、准备配置文件

[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# ls
common.sh  harbor.v2.8.2.tar.gz  harbor.yml  harbor.yml.tmpl  install.sh  LICENSE  prepare

3.2.5、修改配置文件

[root@localhost harbor]# vim harbor.yml

在这里插入图片描述

4、启动Harbor

# 进入到 Harbor 的解压目录,执行安装脚本
sh install.sh
[root@localhost harbor]# sh install.sh [Step 0]: checking if docker is installed ...Note: docker version: 24.0.7[Step 1]: checking docker-compose is installed ...Note: Docker Compose version v2.14.2[Step 2]: loading Harbor images ...
21e7914e06fb: Loading layer [==================================================>]  38.39MB/38.39MB
bcd4591a1a5a: Loading layer [==================================================>]  91.73MB/91.73MB
af3f46d7aeca: Loading layer [==================================================>]  3.584kB/3.584kB
5380c26af354: Loading layer [==================================================>]  3.072kB/3.072kB
6462f972b019: Loading layer [==================================================>]   2.56kB/2.56kB
8cb0c83ac487: Loading layer [==================================================>]  3.072kB/3.072kB
cfbe2a0d2719: Loading layer [==================================================>]  3.584kB/3.584kB
e5293f9ebbe6: Loading layer [==================================================>]  20.48kB/20.48kB
Loaded image: goharbor/harbor-log:v2.8.2
5af62c831390: Loading layer [==================================================>]  115.4MB/115.4MB
82534d457de7: Loading layer [==================================================>]  25.09MB/25.09MB
80d2f6e2bcfc: Loading layer [==================================================>]   5.12kB/5.12kB
aefafcd9796f: Loading layer [==================================================>]  6.144kB/6.144kB
97428d289bc9: Loading layer [==================================================>]  3.072kB/3.072kB
c8c0719442e6: Loading layer [==================================================>]  2.048kB/2.048kB
ab5f5c9721f1: Loading layer [==================================================>]   2.56kB/2.56kB
66301f88beb6: Loading layer [==================================================>]   2.56kB/2.56kB
75f328befa4d: Loading layer [==================================================>]   2.56kB/2.56kB
a5b05318c510: Loading layer [==================================================>]  9.728kB/9.728kB
Loaded image: goharbor/harbor-db:v2.8.2
7a03cfe8755a: Loading layer [==================================================>]  5.948MB/5.948MB
96ad7512b4d1: Loading layer [==================================================>]  4.096kB/4.096kB
d92638592515: Loading layer [==================================================>]  3.072kB/3.072kB
48d74f8d036f: Loading layer [==================================================>]  17.57MB/17.57MB
9a03dbb78886: Loading layer [==================================================>]  18.36MB/18.36MB
Loaded image: goharbor/registry-photon:v2.8.2
c00acf6f4f58: Loading layer [==================================================>]  9.095MB/9.095MB
88edeb5b4944: Loading layer [==================================================>]  3.584kB/3.584kB
06d8a79a810a: Loading layer [==================================================>]   2.56kB/2.56kB
9cb5dd968a55: Loading layer [==================================================>]   59.3MB/59.3MB
557ccce847e1: Loading layer [==================================================>]  5.632kB/5.632kB
0a049ad6bb06: Loading layer [==================================================>]  116.7kB/116.7kB
17583ba2a843: Loading layer [==================================================>]  44.03kB/44.03kB
e1c4f1102d2f: Loading layer [==================================================>]  60.26MB/60.26MB
c8ec2ddada08: Loading layer [==================================================>]   2.56kB/2.56kB
Loaded image: goharbor/harbor-core:v2.8.2
aa80393262d7: Loading layer [==================================================>]  9.095MB/9.095MB
215dbb1a04b0: Loading layer [==================================================>]  3.584kB/3.584kB
6f2f5e479755: Loading layer [==================================================>]   2.56kB/2.56kB
147d2759d484: Loading layer [==================================================>]  47.58MB/47.58MB
8a962350165e: Loading layer [==================================================>]  48.37MB/48.37MB
Loaded image: goharbor/harbor-jobservice:v2.8.2
c2d19899aeb5: Loading layer [==================================================>]  5.948MB/5.948MB
c8ae0d52fd08: Loading layer [==================================================>]  4.096kB/4.096kB
2b478b343b5b: Loading layer [==================================================>]  17.57MB/17.57MB
bc764beb6923: Loading layer [==================================================>]  3.072kB/3.072kB
d9a27bb64f03: Loading layer [==================================================>]  31.12MB/31.12MB
b9281342e36e: Loading layer [==================================================>]  49.48MB/49.48MB
Loaded image: goharbor/harbor-registryctl:v2.8.2
49789c5ef6cb: Loading layer [==================================================>]  5.943MB/5.943MB
3c7b6ed957d3: Loading layer [==================================================>]  9.138MB/9.138MB
e9278e51e40e: Loading layer [==================================================>]  14.47MB/14.47MB
95bf8f5d9cb4: Loading layer [==================================================>]  29.29MB/29.29MB
64b7de829423: Loading layer [==================================================>]  22.02kB/22.02kB
474f017f0f6d: Loading layer [==================================================>]  14.47MB/14.47MB
Loaded image: goharbor/notary-signer-photon:v2.8.2
03882daa14fc: Loading layer [==================================================>]   6.48MB/6.48MB
277ca4b6664c: Loading layer [==================================================>]  4.096kB/4.096kB
3195ed08e16d: Loading layer [==================================================>]  3.072kB/3.072kB
1038a66bba4c: Loading layer [==================================================>]  193.4MB/193.4MB
10922dd1f89c: Loading layer [==================================================>]  14.09MB/14.09MB
7fa58b86e316: Loading layer [==================================================>]  208.3MB/208.3MB
Loaded image: goharbor/trivy-adapter-photon:v2.8.2
d9cd76d5991c: Loading layer [==================================================>]  52.85MB/52.85MB
980f48887875: Loading layer [==================================================>]  54.88MB/54.88MB
449a0993722b: Loading layer [==================================================>]  19.41MB/19.41MB
ef82d54c4095: Loading layer [==================================================>]  65.54kB/65.54kB
37ae0fc85f56: Loading layer [==================================================>]   2.56kB/2.56kB
1f410b1e1d0d: Loading layer [==================================================>]  1.536kB/1.536kB
882a66e43a76: Loading layer [==================================================>]  12.29kB/12.29kB
7a5957cadc7f: Loading layer [==================================================>]  2.622MB/2.622MB
e8a3f071c998: Loading layer [==================================================>]  416.8kB/416.8kB
Loaded image: goharbor/prepare:v2.8.2
bc73cb8addc7: Loading layer [==================================================>]  83.81MB/83.81MB
3671a4eef508: Loading layer [==================================================>]    6.1MB/6.1MB
a4eb38fb4116: Loading layer [==================================================>]  1.233MB/1.233MB
Loaded image: goharbor/harbor-portal:v2.8.2
c16f4880a6a0: Loading layer [==================================================>]  84.66MB/84.66MB
f56fbf7243e9: Loading layer [==================================================>]  3.072kB/3.072kB
031e3908240b: Loading layer [==================================================>]   59.9kB/59.9kB
d5e6d4e3eb25: Loading layer [==================================================>]  61.95kB/61.95kB
Loaded image: goharbor/redis-photon:v2.8.2
3b33d3218a04: Loading layer [==================================================>]  9.095MB/9.095MB
df2a1c214a73: Loading layer [==================================================>]  26.03MB/26.03MB
099a3e87a796: Loading layer [==================================================>]  4.608kB/4.608kB
8a8188a617c5: Loading layer [==================================================>]  26.82MB/26.82MB
Loaded image: goharbor/harbor-exporter:v2.8.2
06059da7cd8e: Loading layer [==================================================>]  83.81MB/83.81MB
Loaded image: goharbor/nginx-photon:v2.8.2
d0000dfd32d8: Loading layer [==================================================>]  5.943MB/5.943MB
5c8f6501414b: Loading layer [==================================================>]  9.138MB/9.138MB
4e37ce9ef2f9: Loading layer [==================================================>]  15.88MB/15.88MB
519b1ca3008d: Loading layer [==================================================>]  29.29MB/29.29MB
0497bd0e9332: Loading layer [==================================================>]  22.02kB/22.02kB
88ecfe080b68: Loading layer [==================================================>]  15.88MB/15.88MB
Loaded image: goharbor/notary-server-photon:v2.8.2[Step 3]: preparing environment ...[Step 4]: preparing harbor configs ...
prepare base dir is set to /opt/harbor
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 dirNote: stopping existing Harbor instance ...[Step 5]: starting Harbor ...
[+] Running 10/10⠿ Network harbor_harbor        Created                                                                                                                                                                       0.1s⠿ Container harbor-log         Started                                                                                                                                                                       0.7s⠿ Container harbor-portal      Started                                                                                                                                                                       1.3s⠿ Container registry           Started                                                                                                                                                                       1.5s⠿ Container harbor-db          Started                                                                                                                                                                       1.8s⠿ Container redis              Started                                                                                                                                                                       1.7s⠿ Container registryctl        Started                                                                                                                                                                       1.4s⠿ Container harbor-core        Started                                                                                                                                                                       2.1s⠿ Container harbor-jobservice  Started                                                                                                                                                                       2.7s⠿ Container nginx              Started                                                                                                                                                                       2.7s
✔ ----Harbor has been installed and started successfully.----

在这里插入图片描述

5、启动关闭命令

# 启动 Harbor
docker compose -f docker-compose.yml up -d   
# 关闭 Harbor
docker compose -f docker-compose.yml stop      

6、访问harbor

用户名/密码:admin/Harbor12345
在这里插入图片描述

相关文章:

docker -私有镜像仓库 - harbor安装

文章目录 1、镜像仓库简介2、Harbor简介3、下载与安装3.1、下载3.2、安装3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件3.2.2、解压tgz包3.2.3、切换到解压缩后的目录下3.2.4、准备配置文件3.2.5、修改配置文件 4、启动Harbor5、启动关闭命令6、…...

头号积木玩家——软件工程专业职业生涯规划报告

说明:本报告为博主在浙江科技学院(现浙江科技大学)就读软件工程本科专业时,在必修课程《计算机导论》中撰写的报告。(报告主体2021年11月定稿,有删改) 标题说明:在电影《头号玩家》…...

Redis(初步认识和安装)

初识Redis 认识NoSQLSQL结构化:structure关联的:RelationalSQL查询ACID NoSQL非结构化无关联的非SQLBASE 认识Redis安装Redis 认识NoSQL SQL和NoSQL比较 SQL 结构化:structure 数据库中表的字段都有固定的结构 关联的:Relati…...

计算机网络:计算机网络概述:网络、互联网与因特网的区别

文章目录 网络、互联网与因特网的区别网络分类 互联网因特网基于 ISP 的多层次结构的互连网络因特网的标准化工作因特网管理机构因特网的组成 网络、互联网与因特网的区别 若干节点和链路互连形成网络,若干网络通过路由器互连形成互联网 互联网是全球范围内的网络…...

网络编程套接字TCP

前集回顾 上一篇博客中我们写了一个UDP的echo server,是一个回显服务器:请求是啥,响应就是啥 一个正常的服务器,要做三个事情: 读取请求并解析根据请求,计算响应把响应写回到客户端 DatagramPacket res…...

Git

Git-2.34.1-64-bitGit-2.34.1-64-bitTortoiseGit-2.4.0.2-64bitTortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN 下载Git-2.34.1-64-bit、TortoiseGit-2.4.0.2-64bit、TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN,依次安装。 # 配置本地Git的用户名与邮箱 git c…...

【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。

1、winR 2、输入:services.msc 3、找到下面红框内的服务 4、右键后,点击重启任务,重启任务后,再次按热键即可恢复亮度调节。...

ubuntu20.04.6 触摸屏一体机,外接视频流盒子开机输入登录密码触屏失灵问题解决方法

1. 首先直接运行xrandr命令,查看设备的相关信息: 运行之后会显示当前连接设备的屏幕信息,如下图,LVDS和VGA-0,而HDMI屏幕为disconnect,意为没有连接: 2. 设置开机主屏幕显示: xrand…...

师生健康信息管理:SpringBoot技术指南

第3章 系统分析 3.1 需求分析 师生健康信息管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,…...

手机/平板端 Wallpaper 动态壁纸文件获取及白嫖使用指南

Wallpaper 动态壁纸文件获取及使用指南 目录 壁纸文件获取手机 / 平板使用手机 / 平板效果预览注意事项PC/Mac 使用 1. 壁纸文件获取链接 链接:夸克网盘分享 复制链接到浏览器打开并转存下载即可。 (主页往期视频的 4K 原图和 mpkg 动态壁纸文件&#xf…...

【软件工程】模块化思想概述

一、定义 模块化(modularization),也称为模组化,是产品设计以及项目管理中被广泛使用的一种设计理念。 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部…...

解决方案:机器学习中,出现欠拟合和过拟合,这两种情况分别如何解决

文章目录 一、现象二、解决方案欠拟合(Underfitting)过拟合(Overfitting) 一、现象 在工作中,在机器学习中,出现欠拟合和过拟合的时候,需要有对应的解决方法,所以整理一下 二、解决…...

腾讯 25 届秋招算法工程师面经

最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…...

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…...

开源黑科技!Fish Speech TTS模型完美支持8种语言

开源黑科技!Fish Speech TTS模型完美支持8种语言 Fish Speech是一款神奇的AI语音克隆工具🎤,可快速模仿用户声音,支持八种语言🌍,简单易用,适合所有人👶。它在客服、新闻播报和在线…...

算法知识点————数论和链表

1、n数和 2数和 有序(递增):头尾相加,和目标值比较无序:哈希表(target - cur) 多数和: ​ 先排序 拿一个数(检测 i 和i-1 重复的不选择) ​ 2数和问题 &am…...

NASA:ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Daily and Monthly Gridded Polar Sea Surface Height Anomaly V003 ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003 简介 ATLAS/ICESat-2 L3B Daily and Monthly G…...

Java类设计模式

1、单例模式 核心:保证一个类只有一个对象,并且提供一个访问该实例的全局访问点 五种单例模式:主要:饿汉式:线程安全,调用效率高,不能延时加载懒汉式:线程安全,调用效率…...

Valhalla实现 使用Docker部署利用OSM(Mapbox)地图实现路径规划详细步骤

一. Valhalla基本概念 1. 背景介绍: 官网介绍文档:https://valhalla.github.io/valhalla/ Valhalla是一个开源的路由引擎,能够实现实时路径规划,处理大量请求返回最优路径。 基于 OSM 数据,结合灵活的多模式交通方式…...

blender解决缩放到某个距离就不能继续缩放

threejs中也存在同样的问题,原因相同,都是因为相机位置和相机观察点距离太近导致的。 threejs解决缩放到某个距离就不能继续缩放-CSDN博客 blender中的解决方案 1、视图中心->视图锁定->选择你想看的物体...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...