centos下Harbor的安装(超详细+避坑)

news2024/12/23 13:51:45
  1. 前提
    1. 这篇文章讲的是在我的本地虚拟机上安装Harbor的一些过程和中途所遇到的一些问题和排除问题的情况说明;
    2. 安装好的harbor的访问信息如下:http://192.168.45.146:8033/harbor(admin/Harbor12345)
  2. 环境
    1. 本次所使用的环境和软件的各种信息如下:

Harbor:

官网:Harbor · GitHub

下载的版本为:harbor-offline-installer-v1.10.18-rc2.tgz

tip:之前下载的是harbor-offline-installer-v2.8.1_2.tgz,但是在执行./install的时候一直提示如下错误,在网上找的一些解决方法也没有什么用,所以尝试降低harbor的版本到1.x,降低后安装成功;

操作系统:

CentOS Linux release 8.2.2004 (Core)

Docker:

Client:

Version: 18.06.3-ce

API version: 1.38

Go version: go1.10.3

Git commit: d7080c1

Built: Wed Feb 20 02:26:51 2019

OS/Arch: linux/amd64

Experimental: false

Server:

Engine:

Version: 18.06.3-ce

API version: 1.38 (minimum version 1.12)

Go version: go1.10.3

Git commit: d7080c1

Built: Wed Feb 20 02:28:17 2019

OS/Arch: linux/amd64

Experimental: false

Docker-Compose:

docker-compose version 1.26.2, build unknown

docker-py version: 4.2.2

CPython version: 3.6.8

OpenSSL version: OpenSSL 1.1.1g FIPS 21 Apr 2020

  1. Harbor安装
    1. 将Harbor安装传到虚拟机/usr/local/目录解压,
    2. 进入解压后的目录,因为在harbor的2.x中的harbor的yml配置文件需要进行cp复制重命名一份出来使用,但是1.x的是可以直接进行使用的,只要改动一部分内容就可以了。
    3. 编辑harbor.yml文件
    4. 解压后的目录结构

    1. harbor.yml文件

    1. tips:在安装前是需要先执行./prepare的,但是我这里执行的时候报错了如下,但通过手动搜索也没有搜到相关的包:

    1. 尝试直接使用./install安装,显示安装成功,web界面也可以成功登录使用,web界面的默认登录用户名和密码也在harbor.yml中记录,为admin/Harbor12345;
    2. 登录成功的界面

    1. harbor的简单使用:
      1. 创建项目

      1. 创建用户

      1. 将用户配置到刚才新创建的项目中作为某一个角色成员

    1. 尝试push镜像到刚创建的test项目中
      1. 进入刚创建test项目仓库

      1. 点击右上角可以看到harbor已经提供了相关的推送前的tag标记方式,如:docker tag SOURCE_IMAGE[:TAG] 192.168.45.146/test/IMAGE[:TAG]
      2. 在这里尝试将我的虚拟机上的本地docker镜像进行上传到此
      3. 找到待push的镜像

      1. push之前需要登录,在登录的时候遇到了一个问题,如下图

解决方法为,vim /etc/docker/daemon.json,在下图出加入自己的虚拟机的ip地址,然后重启docker服务即可解决这个问题

      1. 问题解决后再次登录即可成功,登录成功后对即将要push的docker 镜像进行tag重命名,docker tag vulhub/tomcat:8.0 192.168.45.146/test/vulhub/tomcat:8.0,再次docker images可以看到

      1. 开始push

      1. push完毕后查看harbor即可看到刚刚push的镜像

      1. push的相关log记录

  1. 修改端口(http)
    1. harbor的默认端口占用http的80,可以将其改到其他四位数端口(为什么是四位数端口,因为自己改成5位数的时候报错了,不知道什么原因,就先改为四位数吧)
    2. 修改harbor.yml文件,将原来的80,修改为其他端口,然后执行一次./prepare,改动的端口会自动同步给docker-conmpose.yml

    1. docker-compose.yml文件内的映射端口随之被更新

    1. 重启harbor的compose,先执行docker-compose down,再执行docker-compose up -d,
    2. docker-compose down

    1. 端口改动成功

    1. tip:改为五位数的时候的启动报错

    1. 用新端口web访问成功

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

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

相关文章

国外APP外包开发及上线流程

现在很多APP都做成全球通用版,尤其是一些小游戏类的APP,玩法全球基本都类似,在多个国家上线多个销售渠道。今天和大家分享一下Google Play上线流程及注意事项,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件…

ChatGPT:AI时代的创造力激活

《你好,ChatGPT》是一本深入探索人工智能(AI)领域的畅销书籍,它以ChatGPT为切入点,系统地介绍了AI和AIGC的基础概念、技术原理、应用领域和未来展望。这本书通俗易懂,由浅入深,层层递进&#xf…

WMS仓储管理系统解决方案能帮助电子企业解决哪些问题

WMS仓储管理系统解决方案是一种针对仓库管理的软件系统,它能够有效地解决电子企业在仓储管理方面的问题。在电子行业,由于产品的生命周期较短,且需求变化快速,WMS仓库管理系统的应用对于电子企业的管理有着重要的意义。本文将探讨…

DATAV通过配置nginx代理实现https访问

DATAV通过配置nginx代理实现https访问 首先要确保你的 datav 和 datav_proxy 的界面能用http正常访问 在nginx中添加datav配置 server {listen 8181 ssl;server_name localhost;ssl_certificate server.crt;ssl_certificate_key server.key;ssl_session_cache …

“来此加密“:轻松在线申请多域名和泛域名SSL证书

启用SSL证书是网站安全的关键。它加密数据传输,防止黑客窃听和篡改。SSL证书提升网站可信度,增加用户信任。搜索引擎更青睐启用SSL证书的网站,提高可见性和流量。此外,SSL证书还防止钓鱼和恶意软件威胁,保护用户安全。…

A-21S吸金树脂在金矿尾水、镀金废水中回收金的应用

吸金树脂Tulsimer A-21S 一、技术介绍 传统上使用活性碳吸附金子,珍贵的金会被活性碳吸附于表面,再藉由洗涤或直接焚烧以回收金。使用离子交换树脂回收贵金属比活性碳还具有多方面的优势, 因为藉由特殊制造过程中, 我们可以在其结…

python---动态类型

动态类型:是指在程序运行过程中,变量的类型可能会发生改变。 a的类型随着程序运行过程中会发生改变。 后面写不写类型是无所谓的! 相比之下静态类型的语言是更好的! 代码注释 可以使用’‘’ ‘’‘ / #来对代码进行注释

03_堆+MAT工具

堆栈方法区的关系: HotSpot是使用指针的方式来访问对象: Java堆中会存放访问类元数据的地址 reference存储的就是对象的地址 三种JVM: Sun公司的HotSpotBEA公司的JRockitIBM公司的J9 VM 一、堆体系概述 Java7之前 Heap 堆:一个…

LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间

LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间 桌面执行节点可以控制模拟时间,因此开发人员可以使用模拟I/O在开发计算机上执行期间更改关键点的激励。要成功使用此功能,需要测量FPGA VI完成所需的时间,或者需要以直观地知道…

将矩阵各行顺序进行反排numpy.flipud()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将矩阵各行顺序进行反排 numpy.flipud() [太阳]选择题 请问关于以下代码的表述错误的是? import numpy as np a np.array([[1,2,3],[4,5,6],[7,8,9]]) print("【显示】a: \…

PLC/DCS系统中电磁干扰的来源及解决办法

自动化系统中所使用的各种类型DCS/PLC等自动化设备,有的是集中安装在控制室,有的是安装在生产现场和各种电机设备上,它们大多处在强电电路和强电设备所形成的恶劣电磁环境中。要提高这类控制系统可靠性,必须消除各种干扰才能有效保…

lwIP更新记08:TCP 回调函数中调用 tcp_abort 终于安全了

从 lwIP-1.4.0 开始,tcp 回调函数中调用 tcp_abort 函数终于安全了。 在此之前,如果从 tcp 回调函数中调用 tcp_abort,则会访问未分配的内存。 应用程序关闭连接,正常情况下是调用 tcp_close 函数,经过 4 次握手安全的…

XSS - 跨站脚本攻击

一、XSS简介。 XSS跨站脚本(Cross-Site Scripting,XSS)自1996年诞生以来,如今已经历十多年的演化。由于和另一种网页技术-层叠样式表(Cascading Style Sheets,CSS)的缩写一样,为了防…

Netty和Tomcat的区别、性能对比

文章目录 一、Netty和Tomcat有什么区别?二、为什么Netty受欢迎?三、Netty为什么并发高 ? 一、Netty和Tomcat有什么区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基…

【AI创作】用AI创作助手写的文章--提问Git系列

目录 解释 Git 的基本概念和使用方式。Git 的使用方式如下: git常用命令有哪些?git异常报错解决方法最后 解释 Git 的基本概念和使用方式。 Git 是一种分布式版本控制系统,它通过记录文件的变化来管理文件版本,可以保存文件的历史…

在树莓派上控制GPIO常用的编程语言有哪些

在树莓派上控制GPIO(General Purpose Input Output,通用输入输出接口),比较常用和简单的编程语言有: 1. Python 这是树莓派官方推荐语言,控制GPIO只需要导入RPi.GPIO库,简单易学,代码如下: import RPi.GPIO as GPIOGPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.…

​路由器端口映射怎么设置?内网IP不能映射怎么办?​

使用路由器后,Internet用户无法访问到局域网内的主机,因此不能访问内网搭建的Web、FTP、Mail等服务器。路由器 端口映射功能可以实现将内网的服务器映射到Internet,从而实现服务器对外开放。 建议在设置路由器端口映射之前,确认以…

ServletOutputStream下载文件名中文乱码或不显示

废话不多说,直接上代码。。。 下载文件名中文乱码或不显示情况 下载文件名是一道下滑线 改造代码 pdfName是下载文件的名字,带后缀。 String s URLEncoder.encode(pdfName, "utf-8").replaceAll("\\", "%20"); Stri…

生成式人工智能(generative AI)对公共部门的影响

作者:Leanne Link, Dave Erickson 在过去的几个月里,我们看到了对生成式人工智能 (generative artificial intelligence - GAI) 的极大兴趣。 人们正在试用 ChatGPT 等 GAI 应用程序,企业正在思考它对客户体验、会计、营销等方面的影响。 鉴于…

分享这几个简单好用的手机使用技巧给大家

技巧一:微信的听文字消息功能是一项方便而实用的功能,旨在帮助用户通过语音合成技术将文字消息转化为语音,以便用户可以通过听觉方式收听和理解信息。 这项功能适用于用户在某些情况下无法阅读或不方便阅读文字消息的场景。当用户收到一条文…