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.rhkb.cn/news/182822.html

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

相关文章

shell综合项目

主菜单 http和Nginx分别的install的菜单&#xff0c;安装过程通过重定向到/dev/null达到看不见的效果 输入非整数或者大于4的数字都会提示错误 代码如下: [rootserver ~]# vim install_menu.sh #!/bin/bash function menu() { cat << EOF …

蓝桥杯官网填空题(方格计数)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如下图所示&#xff0c;在二维平面上有无数个 11 的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为 50000 的圆。 你能计算出这个圆里有多少个完整的小方…

CSAPP BOMB LAB part2

bomb lab part2 phase3 将rsp0xc存入rcx, 将rsp0x8存入rdx, 地址0x4025cf存储格式&#xff0c;然后调用好sscanf函数&#xff0c; 当rsp0x8的值大于0x7, 会跳转到400fad, 会boom!!! 所以rsp0x8的值不大于0x7。 0x8rsp的值不进入ja的代码段&#xff0c;会执行400f71对应的指令…

docker---dockerfile相关知识

第 3 章 Docker 高级实践 在这一部分我们主要来介绍一些Docker的高级内容&#xff1a; Dockerfile 和 Docker compose 3.1 Dockerfile Dockerfile我们从下面的几个方面来介绍&#xff1a; Dockerfile简介 Dockerfile快速入门 Dockerfile详解 Dockerfile简单 实践 3.1.1 Docke…

阿里云安全恶意程序检测(速通一)

阿里云安全恶意程序检测 赛题理解赛题介绍赛题说明数据说明评测指标 赛题分析数据特征解题思路 数据探索数据特征类型数据分布箱型图 变量取值分布缺失值异常值分析训练集的tid特征标签分布测试集数据探索同上 数据集联合分析file_id分析API分析 特征工程与基线模型构造特征与特…

【Kubernetes部署】通过Kubeadm部署Kubernetes高可用集群

Kubeadm 一、kubeadm部署思路二、基本架构2.1 资源分配2.2 系统初始化操作&#xff08;所有节点&#xff09;2.2.1关闭防火墙、selinux和swap分区2.2.2 修改主机名&#xff0c;添加域名映射2.2.3 内核相关2.2.4 加载ip_vs模块2.2.5 时间同步 三、部署docker3.1 通过yum安装dock…

程序员笔记本电脑选 windows 还是 MAC

计算机选择是每个进入 IT 行业同学的第一个重要选择&#xff0c;那么你是怎么选择的呢&#xff1f; 选择操作系统&#xff08;Windows还是macOS&#xff09;取决于程序员的需求、偏好和工作流程。每个操作系统都有其优点和缺点&#xff0c;下面将分别讨论它们&#xff0c;以帮助…

小红书运营篇1,新手如何快速分析拆解对标账号

hi&#xff0c;同学们&#xff0c;本期是第1期AI运营技巧篇 很多新手博主初期都非常迷茫&#xff0c;主要是因为他们没有找对标账号&#xff0c;也没有充分分析同行账号。 有些人可能会说&#xff0c;“我不想参考同行&#xff0c;我想要追求创新”。这种勇气是真的非常值得鼓…

文件夹批量改名:轻松实现文件夹随机重命名

无论是在我们的日常生活还是工作中&#xff0c;批量重命名文件夹是一项非常常见的任务。当我们需要整理或分类大量的文件时&#xff0c;往往需要对相应的文件夹进行重命名。然而&#xff0c;手动一个接一个地完成这个任务不仅会消耗大量的时间&#xff0c;还容易在重命名过程中…

JS逆向爬虫---请求参数加密②【某麦数据analysis参数加密】

主页链接: https://www.qimai.cn/rank analysis逆向 完整参数生成代码如下&#xff1a; const {JSDOM} require(jsdom) const dom new JSDOM(<!DOCTYPE html><p>hello</p>) window dom.windowfunction customDecrypt(n, t) {t t || generateKey(); //…

《006.Springboot+vue之旅游信息推荐系统》【有文档】

《006.Springbootvue之旅游信息推荐系统》【有文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatis; 前台&#xff1a;vueElementUI; [2]功能模块展示&#xff1a; …

汽车网络安全渗透测试概述

目录 1.汽车网络安全法规概述 1.1 国外标准 1.2 国内标准 2.汽车网络安全威胁分析 2.1 汽车网络安全资产定义 2.2 汽车网络安全影响场景及评级示例 3.汽车网络安全渗透测试描述 3.1 参考法规 3.2 渗透测试内容 4.小结 1.汽车网络安全法规概述 近年来&#xff0c;汽车…

C语言每日一题(24)回文素数题解

BC158 [NOIP1999]回文数 题目描述 若一个数&#xff08;首位不为零&#xff09;从左向右读与从右向左读都一样&#xff0c;我们就将其称之为回文数。 例如&#xff1a;给定一个10进制数56&#xff0c;将56加65&#xff08;即把56从右向左读&#xff09;&#xff0c;得到121是…

科技创意赋能乡村文旅振兴

近日&#xff0c;由北京大学创意产业研究中心联合中国国际科技促进会新基建专委会共同主办的“科技创意赋能乡村振兴研讨会”在京举行&#xff0c;与会专家学者围绕“和美乡村共同富裕智慧文旅”主题进行深入探讨。北京大学创意产业研究中心副主任吕艺、国家文化和旅游公共服务…

【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证

文章目录 MongoDB 集群架构副本集主节点选举原则搭建副本集主节点从节点仲裁节点 连接节点添加副本从节点添加仲裁者节点删除节点 副本集读写操作副本集中的方法 分片集群分片集群架构目标第一个副本集第二个副本集配置集初始化副本集路由集添加分片开启分片集合分片删除分片 安…

2023数学建模国赛C题赛后总结

今天国赛的成绩终于出来了&#xff0c;盼星星盼月亮的。之前面试的时候已经把我给推到国奖评委那里去了&#xff0c;可是好可惜&#xff0c;最终以很微小的劣势错失国二。只拿到了广西区的省一。我心里还是很遗憾的&#xff0c;我真的为此准备了很久&#xff0c;虽然当中也有着…

001、Nvidia Jetson Nano Developer KIT(b01)

之——镜像烧录 杂谈 Nvidia Jetson Nano Developer KIT&#xff08;b01&#xff0c;4G&#xff09;&#xff0c;系统配置全纪录&#xff0c;镜像烧录、系统安装、远程桌面安装、cuda与torch安装、pycharm、pycuda、tensorrt等等。 正文 1.开发板系统安装 1.1 开发板简介 Jet…

8、Python模块和包:导入模块、创建自己的模块和包

文章目录 Python模块和包:导入模块、创建自己的模块和包导入模块创建自己的模块创建包使用相对导入结论Python模块和包:导入模块、创建自己的模块和包 Python是一种功能强大的编程语言,它的模块和包系统是其强大功能的基石之一。在Python中,模块是包含Python定义和声明的文…

OpenSign 开源 PDF 电子签名解决方案

OpenSign 是一个开源文档电子签名解决方案&#xff0c;旨在为 DocuSign、PandaDoc、SignNow、Adobe Sign、Smartwaiver、SignRequest、HelloSign 和 Zoho Sign 等商业平台提供安全、可靠且免费的替代方案。 特性&#xff1a; 安全签名&#xff1a;利用最先进的加密算法来确保…

python df.apply()函数

DataFrame.apply(func, axis0, rawFalse, result_typeNone, args(), by_row‘compat’, kwargs) 沿df的轴应用函数 func:对每行或者每列应用的函数axis{0 or ‘index’, 1 or ‘columns’}, default 0 0是列&#xff0c;1是行 rawbool, default False result_type**{‘expand…