Centos上安装Harbor并使用

harbor的安装与使用

  • Harbor介绍
  • 安装前的准备工作
  • 为Harbor自签发证书
  • 安装Harbor
    • 安装docker
    • 开启包转发功能和修改内核参数
    • 安装harbor
    • 扩展
  • Harbor 图像化界面使用说明
  • 测试使用harbor私有镜像仓库
  • 从harbor仓库下载镜像

Harbor介绍

容器应用的开发和运行离不开可靠的 镜像管理,并且从安全和效率等方面考虑,部署在私有环境内也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

官网地址:https://github.com/goharbor/harbor

安装前的准备工作

harbor安装环境

操作系统:centos7.9
服务器配置: 4Gib内存/4vCPU/80G硬盘
网络:NAT模式

准备工作

需要提前部署好docker,为后面harbor的使用准备
本次实验将docker部署在了另一个服务器上,docker的部署步骤详见:
https://blog.csdn.net/weixin_40364776/article/details/103787201

配置机器主机名

hostnamectl set-hostname harbor && bash

为Harbor自签发证书

mkdir /data/ssl -pcd /data/ssl/

生成ca证书

生成一个3072位的key(私钥)

openssl genrsa -out ca.key 3072

在这里插入图片描述

生成一个数字证书ca.pem

  • -new 表示生成一个新的证书请求
  • -x509 表示输出一个X.509证书,而不是一个证书签名请求
  • -days 3650 表示证书的有效期为10年
openssl req -new -x509 -days 3650 -key ca.key -out ca.pem

按箭头前的提示填写城市信息即可,没有箭头标注的直接回车
在这里插入图片描述

生成harbor域名的证书

生成一个3072位的key(私钥)

openssl genrsa -out harbor.key  3072

在这里插入图片描述

生成一个证书请求,一会签发证书时需要的

openssl req -new -key harbor.key -out harbor.csr

按箭头前的提示填写 城市信息主机名 即可,没有箭头标注的直接回车
在这里插入图片描述

签发证书

openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650

显示如下,说明证书签发好了
在这里插入图片描述

安装Harbor

安装docker

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

在这里插入图片描述

关闭iptables防火墙

安装iptables

yum install iptables-services -y

在这里插入图片描述

禁用iptables

service iptables stop && systemctl disable iptables

清空防火墙规则

iptables -F

关闭selinux

setenforce 0

修改selinux配置文件之后,重启机器,selinux配置才能永久生效

reboot -f

配置时间同步

yum install -y ntp ntpdate

跟网络时间做同步

ntpdate cn.pool.ntp.org

把时间同步做成计划任务

crontab -e

写入:

* */1 * * * /usr/sbin/ntpdate   cn.pool.ntp.org

在这里插入图片描述
重启crond服务使配置生效

systemctl restart crond

配置hosts文件

vi /etc/hosts

加 harbor和 docker 的 IP和访问域名信息
(ps. docker是提前在192.168.40.180主机上部署好的)

192.168.40.180 docker
192.168.40.184 harbor

在这里插入图片描述

安装基础软件包

yum install -y  wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack 

安装docker依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

安装docker-ce

配置docker-ce国内yum源(阿里云)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker-ce

yum install docker-ce -y

启动docker服务

systemctl start docker && systemctl enable dockersystemctl status docker

看到running,表示docker正常运行
在这里插入图片描述
查看Docker 版本信息

docker version 

在这里插入图片描述

开启包转发功能和修改内核参数

内核参数修改:br_netfilter模块用于将桥接流量转发至iptables链,br_netfilter内核参数需要开启转发

modprobe br_netfilter
cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

使参数生效

 sysctl -p /etc/sysctl.d/docker.conf

在这里插入图片描述

配置docker镜像加速器

修改/etc/docker/daemon.json,变成如下:

vim /etc/docker/daemon.json
{
"registry-mirrors":["https://y8y6vosv.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"]
}

或者

登录docker服务器上,直接远程拷贝docker服务器上的daemon.json文件到harbor服务器上
(本次实验用的这个方式)

scp /etc/docker/daemon.json 192.168.40.184:/etc/docker/

在这里插入图片描述

加载配置 并 重启docker

systemctl daemon-reload && systemctl restart docker

安装harbor

创建安装目录

mkdir /data/install -pcd /data/install/

把harbor的离线包harbor-offline-installer-v2.3.0-rc3.tgz上传到这个目录

离线包放在了网盘里可自取:
链接: https://pan.baidu.com/s/13ayH_6RVqBZVIUj7GMVp-A?pwd=s6gt
提取码: s6gt
在这里插入图片描述

下载harbor离线包的地址: https://github.com/goharbor/harbor/releases/tag/

解压

tar zxvf harbor-offline-installer-v2.3.0-rc3.tgzcd harborcp harbor.yml.tmpl harbor.yml

修改配置文件

vim harbor.yml
hostname:  harbor  
#修改hostname,跟上面签发的证书域名保持一致
#协议用https
certificate: /data/ssl/harbor.pem
private_key: /data/ssl/harbor.key

邮件和ldap不需要配置,在harbor的web界面可以配置
其他配置采用默认即可,修改之后保存退出
在这里插入图片描述

注:harbor默认的账号密码:admin/Harbor12345

安装docker-compose

上传网盘里提供的 docker-compose-Linux-x86_64 文件到 harbor服务器上

mv docker-compose-Linux-x86_64.64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

注: docker-compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose的工程配置文件默认为docker-compose.yml,Docker-Compose运行目录下的必要有一个docker-compose.yml。docker-compose可以管理多个docker实例。

安装harbor

需要的离线镜像包 docker-harbor-2-3-0.tar.gz 也在网盘里,上传到harbor服务器上,通过docker load -i 解压

docker load -i docker-harbor-2-3-0.tar.gz 
cd /data/install/harbor./install.sh

看到下面内容,说明安装成功
在这里插入图片描述

在自己电脑修改hosts文件(实现本地用域名访问harbor)
在这里插入图片描述
在hosts文件添加如下一行,然后保存即可
192.168.40.184 harbor

扩展

如何停掉harbor

cd /data/install/harbor
docker-compose stop 

如何启动harbor

cd /data/install/harbor
docker-compose start

Harbor 图像化界面使用说明

在浏览器输入:https://harbor
在这里插入图片描述

接收风险并继续,出现如下界面,说明访问正常
在这里插入图片描述

账号:admin
密码:Harbor12345
输入账号密码出现如下:
所有基础镜像都会放在library里面,这是一个公开的镜像仓库
在这里插入图片描述

新建项目->起个项目名字dev(把访问级别公开那个选中,让项目才可以被公开使用)
在这里插入图片描述
在这里插入图片描述

测试使用harbor私有镜像仓库

打开部署docker的服务器
在这里插入图片描述

配置hosts文件

vim /etc/hosts

加 harbor和 docker 的信息(ps. docker是提前在192.168.40.180主机上部署好的)

192.168.40.180 docker
192.168.40.184 harbor

在这里插入图片描述

修改docker配置

vim /etc/docker/daemon.json

配置新增加了一行内容如下:“insecure-registries”:[“192.168.40.184”]

增加的内容表示内网访问harbor的时候走的是 http,192.168.40.184是安装harbor机器的 IP

{ "registry-mirrors": ["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"],"insecure-registries": ["192.168.40.184","harbor"]
}

修改配置之后使配置生效

systemctl daemon-reload && systemctl restart docker

查看docker是否启动成功

systemctl status docker

在这里插入图片描述

登录harbor

docker login 192.168.40.184

Username:admin
Password: Harbor12345

输入账号密码之后看到如下,说明登录成功了
在这里插入图片描述

上传本地镜像

实验:把本地tomcat镜像上传到harbor里

把本地tomcat镜像重打标签

docker tag tomcat:latest  192.168.40.184/dev/tomcat:v1

在这里插入图片描述

把【192.168.40.184/dev/tomcat:v1】上传到harbor里的dev项目下

docker push 192.168.40.184/dev/tomcat:v1

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

从harbor仓库下载镜像

实验:先在docker服务器上删除【tomcat:v1】镜像,从harbor上拉取

docker rmi -f 192.168.40.184/dev/tomcat:v1
docker pull 192.168.40.184/dev/tomcat:v1

在这里插入图片描述

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

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

相关文章

2024年阿里云服务器优惠价格表_一张表清晰明了

2024年腾讯云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

Mac上玩《赛博朋克2077》mac电脑怎么玩这个游戏

X用户crushovitz_b最近发现&#xff0c;在《赛博朋克2077》游戏主菜单页面&#xff0c;将鼠标停在版本号选项卡上面足够长时间&#xff0c;就会发现游戏当前的版本号由2.12变为了2.0.77&#xff0c;这是对游戏标题2077的致敬彩蛋。 《赛博朋克2077》的叙事总监兼续集副总监Pawe…

C语言实现三子棋强化学习算法AI,思路详解+完整代码

写个三子棋的强化学习AI玩玩。写这玩意只需要有一点C语言基础就可以了&#xff0c;至于AI部分&#xff0c;也是很好理解的。 三子棋 在3*3的棋盘中&#xff0c;先手方画O&#xff0c;后手方画X&#xff0c;连成3个就赢了。事实上&#xff0c;只需要很简单的试验&#xff0c;你…

大学期末考试搜题软件?这4款足够解决问题 #知识分享#笔记#职场发展

当代大学生面临着繁重的学业压力和海量的知识点&#xff0c;如何高效地进行学习和搜题成了他们关注的焦点。幸运的是&#xff0c;随着科技的不断进步&#xff0c;我们有越来越多的日常搜题和学习软件可以帮助我们更好地应对这些挑战。在本文中&#xff0c;我将为大家介绍10款备…

最新消息!Stable Diffusion核心研究团队已集体辞职!Stable Diffusion 3后可能再无开源

最新消息&#xff0c;Stable Diffusion核心研究团队已集体辞职&#xff01; 名单包括研究团队领导、论文一作Robin Rombach&#xff0c;共同一作Andreas Blattmann&#xff0c;以及另一位作者Dominik Lorenz合作开发了图像生成模型Stable Diffusion。这项技术帮助Stability AI…

linux下线程分离属性

linux下线程分离属性 一、线程的属性---分离属性二、线程属性设置2.1 线程创建前设置分离属性2.2 线程创建后设置分离属性 一、线程的属性—分离属性 什么是分离属性&#xff1f; 首先分离属性是线程的一个属性&#xff0c;有了分离属性的线程&#xff0c;不需要别的线程去接合…

oracle设置主键自增步骤

设置主键自增步骤&#xff1a; 每一张表都要设置序列&#xff0c;然后设置触发器。比mysql繁琐。 一、设置序列 选中表后&#xff0c;—》 文件—》新建—》其他—》序列. 设置如下四个值即可。 crtls保存。 给序列起个名字&#xff0c;一定要全大写字母。 二、设置触发器…

移相全桥DC-DC变换器

本篇将基于PPEC-86CA3A移相全桥数字电源控制芯片以及PPEC Workbench开发软件带领大家进行实际移相全桥DC-DC变换器的设计与开发 。 一、移相全桥变换器设计与开发 1、外围电路设计与硬件平台搭建 1&#xff09;外围电路设计 这里给出了PPEC-86CA3A移相全桥数字电源控制芯片的…

校招C++大概学习到什么程度?

游戏引擎、图形学的主要开发语言就是C&#xff0c;所以在面试中回答了了几个C问题。我在面试之前完全没有看过任何面试经验&#xff0c;也没有做过类似的题目。可能是因为招实习生&#xff0c;也可能是因为不是C开发&#xff0c;所以问题我觉得都比较简单。在开始前我有一些资料…

QT:三大特性

QT的三大特性&#xff1a; 1、信号与槽 2、内存管理 3、事件处理 1、信号与槽 当信号产生时&#xff0c;就会自动调用绑定的槽函数。 自定义信号: 类中需要添加O_OBJECT宏 声明: signals标签之下进行声明 定义&#xff1a; 信号不需要定义 …

【MySql】1.mysql数据库

一、数据库的基本概念 1.数据 记录事物的信息&#xff1b;按统一的格式进行存储 2.表 数据的集合&#xff0c;行和列的组合&#xff1b;将多条数据组织在一起 3.数据库 表的集合&#xff0c;是存储 相互有关 数据的仓库 二、数据库管理系统 DBMS的主要功能&#xff1a; …

每周一算法:迭代加深A*

题目链接 AcWing 180. 排书 题目描述 给定 n n n 本书&#xff0c;编号为 1 ∼ n 1\sim n 1∼n。 在初始状态下&#xff0c;书是任意排列的。 在每一次操作中&#xff0c;可以抽取其中连续的一段&#xff0c;再把这段插入到其他某个位置。 我们的目标状态是把书按照 1 ∼…

智能风扇的新篇章:唯创知音WTK6900G语音识别芯片引领行业革新

随着科技浪潮的推进&#xff0c;智能化技术逐渐渗透到生活的每一个角落&#xff0c;家电领域尤为明显。风扇&#xff0c;这一夏日清凉神器&#xff0c;也通过智能化改造&#xff0c;焕发出前所未有的光彩。其中&#xff0c;智能语音控制功能的加入&#xff0c;为风扇的使用带来…

服务器软件express搭建web服务器

文章目录 1.express 是什么2.路由2.1&#xff08;参数一&#xff09;读取用户的请求&#xff08;request&#xff09;2.2&#xff08;参数二&#xff09;给用户响应&#xff08;response&#xff09;2.3&#xff08;参数三&#xff09;next()函数&#xff08;传递请求到下一个处…

[AIGC] 主流工作流引擎对比与适用场景介绍

主流工作流引擎对比与适用场景介绍 工作流引擎在业务流程管理中扮演着重要的角色&#xff0c;它可以帮助组织将复杂的工作流程自动化&#xff0c;降低错误率&#xff0c;提高工作效率。目前市面上有许多优秀的工作流引擎&#xff0c;各自都有着独特的优点和适用的场景。本文将介…

涨知识啦!如何使用3dMax和Vray渲染三维室内平面图效果图?

使用3dMax渲染三维室内平面图教程 在建筑和室内设计领域,3D平面效果图在建筑师或设计师与其客户之间更好地沟通方面发挥着重要作用。并不是每个人都能“阅读”建筑二维平面图及其所有技术元素,因此将该平面图转换为更易于理解的布局是很重要的。一个简单的方法是只使用2D图形…

SSL加密:保护数据传输的安全盾牌

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

AcWing 1250. 格子游戏 (并查集,坐标变换)

记录此题的目的&#xff1a; 明确二维的坐标可以映射到一维&#xff1a;在x和y都是从0开始的前提下&#xff0c;假如图形列数为n&#xff0c;(x,y)映射到一维可以写成x * n y。并查集并不好存储二维数据&#xff0c;如果遇到二维数据可以将其映射到一维。 Alice和Bob玩了一个…

Prometheus+Grafana 监控Tongweb7(by lqw)

文章目录 1.准备工作2.Tongweb7部署3.Prometheus部署4.上传jar包并配置Tongweb75.Prometheus配置6.安装和配置Grafana 1.准备工作 本次参考&#xff1a;Prometheus监控Tongweb容器 1.使用虚拟机ip&#xff1a;192.168.10.51&#xff08;tongweb&#xff09;&#xff0c;192.1…

Linux源码包安装

目录 一、transmission源码包安装 二、 nginx源码包安装 一、transmission源码包安装 1、下载编译环境所需的软件包依赖 2、下载transmision源码包到用户主目录下 https://github.com/transmission/transmission/releases/download/4.0.5/transmission-4.0.5.tar.xz 3、解压…