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

news2024/10/7 17:25:54

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-store

Login 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.coloradmin.cn/o/1178187.html

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

相关文章

原语:串并转换器

串并转换器OSERDESE2 可被Select IO IP核调用。 OSERDESE2允许DDR功能 参考: FPGA原语学习与整理第二弹,OSERDESE2串并转换器 - 知乎 (zhihu.com) 正点原子。 ISERDESE2原语和OSERDESE2原语是串并转换器,他的的功能都是实现串行数据和并行…

阿里云服务器怎么购买更省钱?优惠入口分享

阿里云服务器怎么购买更省钱?不要直接在云服务器页面购买,不划算,在阿里云特价活动上购买更优惠,阿腾云atengyun.com分享阿里云服务器省钱购买方法,节省90%,可以先在阿里云CLUB中心领券 aliyun.club 专用满…

JavaScript_Element对象_方法

1、Element.focus() Element.focus方法用于将当前页面的焦点,转移到指定元素上 2、Element.blur() Element.blur方法用于将焦点从当前元素移除 3、Element.remove() Element.remove方法用于将当前元素节点从它的父节点移除 4、Element.getBoundingClientRect() …

蓝桥杯练习

即约分数 题目 思路 遍历所有的x&#xff0c;y&#xff0c;判断x/y是不是即越约分数。 代码 #include <iostream> using namespace std; int gcd(int x,int y) {int r;while(y!0){rx%y;xy;yr;}return x; } int main() {// 请在此输入您的代码int sum4039;//1/y和x/1都…

C函数速查手册

链接下载&#xff1a;提取码:Tywdhttps://www.123pan.com/s/JRpSVv-PLnjv.html 双击打开即可

RxJava/RxAndroid的基本使用方法(一)

文章目录 一、什么是RxJava二、使用前的准备1、导入相关依赖2、字段含意3、Upstream/Downstream——上/下游4、BackPressure5、BackPressure策略6、“热” and “冷” Observables7、 基类8、事件调度器9、操作符是什么&#xff1f; 三、RxJava的简单用法1、Observable——Obse…

Docker安装教程

Docker安装教程 安装教程Centos7.6docker镜像源修改docker目录修改 Ubuntu20.04docker镜像源修改docker数据目录修改 安装教程 Centos7.6 &#x1f680;docker支持的Cetnos操作系统版本 CentOS 7 CentOS 8 (stream) CentOS 9 (stream) &#x1f680;支持的CPU ARM/X86_64 查看…

django+drf+vue 简单系统搭建 (1) - django创建项目

本系列文章为了记录自己第一个系统生成过程&#xff0c;主要使用django,drf,vue。本人非专业人士&#xff0c;此文只为记录学习&#xff0c;若有部分描述不够准确的地方&#xff0c;烦请指正。 建立这个系统的原因是因为&#xff0c;在生活中&#xff0c;很多觉得可以一两行代码…

分页存储管理、分段存储管理、段页式存储管理、两级页表

目录: 分页存储管理 基本地址存储机构 具有快表的地址存储机构 两级页表 分段存储管理 段页式管理方式 分页存储管理(重点) 首先回顾,逻辑地址和物理地址. 为什么要引入分页存储管理? 把物理地址下,离散的各个小片都利用起来,也就是在逻辑地址中看似是连续存储的,实际上对应…

ViT模型中的tokens和patches概念辨析

概念辨析 在ViT模型中&#xff0c;“tokens”&#xff08;令牌&#xff09;和"patches"&#xff08;图像块&#xff09;是两个相关但不同的概念。 令牌&#xff08;Tokens&#xff09;&#xff1a;在ViT中&#xff0c;令牌是指将输入图像分割成固定大小的图块&#…

java 之多态的实现之方法的重载和方法重写

文章目录 多态的主要概念和实现方式&#xff1a;重写重写方法的规则&#xff1a;示例&#xff1a;调用重写方法&#xff1a;注意事项&#xff1a; 重载方法重载的条件&#xff1a;方法重载的例子&#xff1a;重载方法的调用&#xff1a;注意事项&#xff1a; 在 Java 中&#x…

基于单片机GP2D12测距-proteus仿真-源程序

基于51单片机红外测距-proteus仿真-源程序 一、系统方案 本设计采用51单片机作为主控器&#xff0c;液晶1602显示&#xff0c;GP2D12采集距离值&#xff0c;按键设置报警阀值&#xff0c;测量值超过阀值&#xff0c;蜂鸣器报警。 二、硬件设计 原理图如下&#xff1a; 三、单…

文件重命名自动化:批量处理让生活更简单

在我们的日常生活和工作中&#xff0c;需要处理大量的文件&#xff0c;无论是文档、图片、音频还是视频。很多时候&#xff0c;为了更好地管理和查找&#xff0c;我们都需要对文件进行重命名。然而&#xff0c;一个一个地重命名文件既耗时又容易出错。幸运的是&#xff0c;随着…

婴儿车上架美国站亚马逊TEMU平台认证标准要求ASTMF833测试报告CPC认证

婴儿车上架跨境电商平台美国站或者出口美国需要提交CPC认证&#xff0c;ASTMF833测试标准检测合规报告&#xff0c;才能进入美国市场&#xff0c;由美国CPSC 认可的实验室出具的检测报告&#xff0c;确认每件商品均已通过检测&#xff0c;符合上述适用要求。 本政策适用的卧式…

京东商品详情API接口(PC端和APP端),京东详情页,商品属性接口,商品信息查询

京东开放平台提供了API接口来访问京东商品详情。通过这个接口&#xff0c;您可以获取到商品的详细信息&#xff0c;如商品名称、价格、库存量、描述等。 以下是使用京东商品详情API接口的一般步骤&#xff1a; 注册并获取API权限&#xff1a;您需要在京东开放平台上注册并获取…

电脑发热发烫,具体硬件温度达到多少度才算异常?

环境&#xff1a; 联想E14 问题描述&#xff1a; 电脑发热发烫,具体硬件温度达到多少度才算异常? 解决方案&#xff1a; 电脑硬件的温度正常范围会因设备类型和使用的具体硬件而有所不同。一般来说&#xff0c;以下是各种硬件的正常温度范围&#xff1a; CPU&#xff1a;正…

【八股哪背的完】Redis我先背这点儿,够用!

Redis篇 数据类型及其业务场景 字符串&#xff08;String&#xff09; 字符串类型是最基本的数据类型&#xff0c;value 最多可以容纳的数据长度是 512M。 存储任意类型的数据&#xff0c;包括数字、文本等。适用于缓存、计数器、分布式锁等场景。共享 Session 信息 哈希&am…

Pandas数据分析Pandas进阶在线闯关_头歌实践教学平台

Pandas数据分析进阶 第1关 Pandas 分组聚合第2关 Pandas 创建透视表和交叉表 第1关 Pandas 分组聚合 任务描述 本关任务&#xff1a;使用 Pandas 加载 drinks.csv 文件中的数据&#xff0c;根据数据信息求每个大洲红酒消耗量的最大值与最小值的差以及啤酒消耗量的和。 编程要求…

思维模型 锚定效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。先入为主&#xff0c;决策易偏。 1 锚定效应的应用 1.1 定价策略中的锚定效应 黑珍珠的定价策略&#xff1a;在 20 世纪 70 年代&#xff0c;黑珍珠被视为一种廉价的珠宝。然而&#xff…

【ARFoundation学习笔记】平面检测

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏&#xff0c;更多详细内容请阅读原文。 文章目录 平面检测属性可视化平面平面检测的开关控制显示与隐藏已检测平面 平面检测属性 AR中检测平面的原理&#xff1a;AR Fou…