Harbor企业级Registry基础镜像仓库的详细安装使用教程(保姆级)

Harbor

Docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是vmware一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。 harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

下面直接开始保姆级的Harbor仓库的安装
首先安装好docker并启动

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker.service

还要下载docker-compose,不是docker自带的docker compose命令

[root@server151 harbor]# yum install docker-compose

然后下载harbor安装包

[root@server151 ~]# ls
harbor-offline-installer-v2.5.0.tgz

解压

[root@server151 ~]# tar -xf harbor-offline-installer-v2.5.0.tgz 
[root@server151 ~]# cd harbor/

解压安装包后进入目录,可以看到有如下文件

[root@server151 harbor]# ls
common.sh             harbor.yml.tmpl  LICENSE
harbor.v2.5.0.tar.gz  install.sh       prepare

把配置文件复制为yml为后缀

[root@server151 harbor]# cp harbor.yml.tmpl harbor.yml

然后编辑配置文件,可以改成自己的主机名或者域名都可以

[root@server151 harbor]# vim harbor.yml

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

配置好这些就可以安装了,其它的调优选项可以看自己的需求来改

[root@server151 harbor]# ./install.sh 

安装好以后看看我们的前端80端口起来没有

[root@server151 harbor]# netstat -pntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      950/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1108/master         
tcp        0      0 127.0.0.1:1514          0.0.0.0:*               LISTEN      13818/docker-proxy  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14445/docker-proxy  
tcp6       0      0 :::22                   :::*                    LISTEN      950/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1108/master         
tcp6       0      0 :::80                   :::*                    LISTEN      14458/docker-proxy  

可以看到起来了,是没有问题的,然后就去浏览器访问我们的前端页面
在这里插入图片描述

在这里插入图片描述

进来以后就大概是这种页面,默认会创建一个library仓库

在这里插入图片描述

接下来我们尝试用起来

在这里插入图片描述

拉取一个nginx镜像来做测试

[root@server151 harbor]# docker pull nginx
[root@server151 harbor]# docker images nginx
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    c20060033e06   5 days ago   187MB

然后配置自己主机的A记录解析

[root@server151 harbor]# echo "192.168.121.151 www.test.com" >> /etc/hosts

然后将改域名加入到信任域名中,如下编辑文件即可

[root@server151 harbor]# cat /etc/docker/daemon.json 
{"insecure-registries":["http://www.test.com"]}

然后重启docker

[root@server151 harbor]# systemctl restart docker.service

重启docker后登录docker仓库,因为我们没有创建用户,账号密码就是刚才登录前端页面的

[root@server151 harbor]# docker login www.test.com
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

看到Login Succeeded就是登录成功了

然后给我们刚才拉取下来的nginx打标签

[root@server151 harbor]# docker images nginx
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    c20060033e06   5 days ago   187MB
[root@server151 harbor]# docker tag nginx:latest www.test.com/mytest/newnginx:v1
[root@server151 harbor]# docker images 
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
nginx                           latest    c20060033e06   5 days ago      187MB
www.test.com/mytest/newnginx    v1        c20060033e06   5 days ago      187MB

可以看到我们的标签已经打上了 然后推送到我们的刚才创建的mytest仓库上

[root@server151 harbor]# docker push www.test.com/mytest/newnginx:v1
The push refers to repository [www.test.com/mytest/newnginx]
505f49f13fbe: Pushed 
9920f1ebf52b: Pushed 
768e28a222fd: Pushed 
715b32fa0f12: Pushed 
e503754c9a26: Pushed 
609f2a18d224: Pushed 
ec983b166360: Pushed 
v1: digest: sha256:d2e65182b5fd330470eca9b8e23e8a1a0d87cc9b820eb1fb3f034bf8248d37ee size: 1778

然后去前端页面查看我们的镜像

在这里插入图片描述

在这里插入图片描述

镜像仓库创建好了 ,我们试着去其它主机上拉取我们推上去的镜像

访问这个仓库的主机都要配置A记录解析,除非有DNS域名解析

[root@server159 ~]# echo "192.168.121.151 www.test.com" >> /etc/hosts

记得我们是没有CA证书的,所以访问这个仓库的主机都要配置域名信任

[root@server159 harbor]# cat /etc/docker/daemon.json 
{"insecure-registries":["http://www.test.com"]}
[root@server159 ~]# systemctl restart docker.service

还有仓库的权限要打开

在这里插入图片描述

然后去刚才的前端页面复制拉取命令,或者你记得自己打的标签名也可以通过标签名直接拉

[root@server159 ~]# docker pull www.test.com/mytest/newnginx:v1
v1: Pulling from mytest/newnginx
Digest: sha256:d2e65182b5fd330470eca9b8e23e8a1a0d87cc9b820eb1fb3f034bf8248d37ee
Status: Downloaded newer image for www.test.com/mytest/newnginx:v1
www.test.com/mytest/newnginx:v1
[root@server159 ~]# docker images www.test.com/mytest/newnginx
REPOSITORY                     TAG       IMAGE ID       CREATED      SIZE
www.test.com/mytest/newnginx   v1        c20060033e06   5 days ago   187MB

可以看到我们的镜像成功拉取下来

这样我们的一个私有仓库就创建好了

对大家有帮助的话可以收藏

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

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

相关文章

数据结构之堆的实现(图解➕源代码)

一、堆的定义 首先明确堆是一种特殊的完全二叉树,分为大根堆和小根堆,接下来我们就分别介绍一下这两种不同的堆。 1.1 大根堆(简称:大堆) 在大堆里面:父节点的值 ≥ 孩子节点的值 我们的兄弟节点没有限制&…

pandas 笔记:get_dummies分类变量one-hot化

1 函数介绍 pandas.get_dummies 是 pandas 库中的一个函数,它用于将分类变量转换为哑变量/指示变量。所谓的哑变量,就是将分类变量的每一个不同的值转换为一个新的0/1变量。在输出的DataFrame中,每一列都以该值的名称命名 pandas.get_dummi…

java使用bouncycastle加解密

jdk默认带了一些常见的加解密方式&#xff0c;当我们常见的加解密不能满足时&#xff0c;就需要用到一些第三方的库了&#xff0c;bouncycastle就是其中一种。 但是bouncycastle文档比较少。简单介绍一下写法 1.导入依赖 <dependency><groupId>org.bouncycastle&…

5 ip的分配

如上一节所述&#xff0c;需要和其他设备通信&#xff0c;那么需要先配置ip. 1、如何配置ip 1.可以使用 ifconfig&#xff0c;也可以使用 ip addr 2.设置好了以后&#xff0c;用这两个命令&#xff0c;将网卡 up 一下&#xff0c;就可以了 //---------------------------- 使…

AI大模型时代网络安全攻防对抗升级,瑞数信息变革“下一代应用与数据安全”

AI与大模型技术加速普及&#xff0c;安全领域也在以创新视角聚焦下一代应用安全WAAP变革&#xff0c;拓展新一代数据安全领域。近日瑞数信息重磅发布了瑞数全新API扫描器、API安全审计、数据安全检测与应急响应系统及分布式数据库备份系统四大新品。此次发布在延续瑞数信息Bot自…

用java代码实现QQ第三方登录

QQ第三方登录需要使用到QQ互联开放平台提供的API&#xff0c;在Java中可以使用OAuth2.0协议来实现第三方登录。 具体实现步骤如下&#xff1a; 注册QQ互联开放平台账号&#xff0c;并创建应用&#xff0c;获取到App ID和App Secret。 在Java项目中导入QQ互联开放平台提供的Ja…

当zmq 和 docker 都要绑定一个端口时,怎么不修改端口号就能解决冲突?

问题描述 docker容器中的程序需要和外部进行通讯&#xff0c;但是当作为请求方向 响应方发送数据时&#xff0c;外部的进程因为需要绑定的端口被docker占用而绑定失败。 解决方式 方式一&#xff1a;使用请求响应方式&#xff0c;但是将响应端放置到容器内部。 方拾二&#…

freertos简单串口

先来完善一下FreeRTOSConfig.h这个配置文件 /*FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.All rights reservedVISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.This file is part of the FreeRTOS distribution.FreeRTOS is …

vue3+ts+vite搭建项目

检查node版本 > node -v检查vue版本 > vue -V1、全局安装Vue CLI 3.X版本 > npm install -g vue/cli2、创建vue 项目 > vue create [project-name]3、安装vite > npm install vite4、使用vite Vite 需要 Node.js 版本 > 12.0.0。 > npm init vitela…

通信原理板块——时域均衡

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、均衡器 为了减小码间串扰的影响…

放卷开环张力控制(伺服转矩模式应用)

收放卷张力开环闭环控制算法,请参考下面文章链接: PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-CSDN博客文章浏览阅读4k次,点赞3次,收藏3次。里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算…

Scala和Play WS库编写的爬虫程序

使用Scala和Play WS库编写的爬虫程序&#xff0c;该程序将爬取网页内容&#xff1a; import play.api.libs.ws._ import scala.concurrent.ExecutionContext.Implicits.global ​ object BaiduCrawler {def main(args: Array[String]): Unit {val url ""val proxy…

CMake教程-第 12 步:打包调试和发布

CMake教程-第 12 步&#xff1a;打包调试和发布 1 CMake教程介绍2 学习步骤[Step 1: A Basic Starting Point](https://blog.csdn.net/u014100559/article/details/133099915?spm1001.2014.3001.5501)[Step 2: Adding a Library](https://blog.csdn.net/u014100559/article/de…

【学习笔记】[COCI2018-2019#1] Teoretičar

首先&#xff0c;可以发现 C C C等于所有点度数的最大值&#xff0c;我们能用到的颜色数目为 2 x ≥ C 2^x\ge C 2x≥C。 考虑分治&#xff0c;将边集划分为 E E 1 E 2 EE_1E_2 EE1​E2​&#xff0c;使得 E 1 , E 2 E_1,E_2 E1​,E2​中点度数的最大值都不超过 2 x − 1 2^…

06.Oracle数据备份与恢复

Oracle数据备份与恢复 一、通过RMAN方式备份二、使用emp/imp和expdb/impdb工具进行备份和恢复三、使用Data guard进行备份与恢复 一、通过RMAN方式备份 通过 RMAN&#xff08;Oracle 数据库备份和恢复管理器&#xff09;方式备份 Oracle 数据库&#xff0c;可以使用以下步骤&a…

网速和带宽浅析

经常会对交换机的带宽和文件的存储的单位混淆不清&#xff0c;下面进行整理分析。 1、网速 网速是通俗的叫法&#xff0c;专业的叫法是带宽。如手机上显示的网速为2.4K/s。 带宽通常有十兆、百兆、千兆&#xff0c;即10Mbps、100Mbps、1000Mbps&#xff0c;单位为bps。 2、带…

【微服务】mysql + elasticsearch数据双写设计与实现

目录 一、前言 二、为什么使用mysqles双写 2.1 单用mysql的问题 2.2 为什么不直接使用es 2.2.1 非关系型表达 2.2.2 不支持事务 2.2.3 多字段将造成性能低下 三、mysqles双写方案设计要点 3.1 全新设计 VS 中途调整架构 3.2 全表映射 VS 关键字段存储 3.2.1 最大程度…

FPGA高端项目:图像采集+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持

目录 1、前言免责声明本项目特点 2、相关方案推荐我这里已有的 GT 高速接口解决方案我这里已有的以太网方案 3、设计思路框架设计框图视频源选择OV5640摄像头配置及采集动态彩条视频数据组包GTP 全网最细解读GTP 基本结构GTP 发送和接收处理流程GTP 的参考时钟GTP 发送接口GTP …

js原型链

什么叫原型链 原型链是js中的核心&#xff0c;原型链将各个属性链接起来&#xff0c;在原型链上面定义&#xff0c;原型链上的其他属性能够使用&#xff0c;原型链就是保证继承 原型链区分 原型链分为显式原型和隐式原型 显式原型&#xff1a;只有函数和构建函数才有显式原型…

spring面试题笔记

SpringBoot 有几种读取配置文件的方式 1.value 必须是bean里才能生效&#xff0c;&#xff0c;final或static无法生效 2ConfigurationProperties注解 ConfigurationProperties是springboot提供读取配置文件的一个注解 注意&#xff1a; 前缀定义了哪些外部属性将绑定到类的字…