harbor镜像仓库的安装http版

2024-08-28 09:18
文章标签 镜像 安装 http 仓库 harbor

本文主要是介绍harbor镜像仓库的安装http版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.harbor官网:harbor官网
2.harborgithub: harborgithub
3.下载harbor安装包:
harbor查看最新版本安装包
在这里插入图片描述
4.将下载的安装包上传至目标主机并解压

#如果tar未安装,先安装tar
yum install -y tar
#解压并复制
tar -xvf harbor-online-installer-v2.1.3.tgz
#复制到/user/local/目录
cp -r harbor /usr/local/

5.进入/usr/local/harbor/目录下,编辑harbor.yml配置文件,该文件需从harbor.yml.tmpl复制修改,hotstname为自己的ip或域名,在此不启用https,所以将https相关配置先注释掉
在这里插入图片描述

6.在运行install.sh前确保已经安装docker和docker-compose
7.运行安装脚本

./install.sh

8.运行过程中,需要下载镜像,很多时候会出现连接超时,即已下载部分镜像,但有报错,如下图:
在这里插入图片描述
在这里插入图片描述
即连接远程仓库下载时超时了。
解决办法:
1.退出当前安装,继续执行./install.sh,让其继续下载镜像,已下载的不会再重复下载
2.更改docker镜像仓库为阿里云镜像加速仓库,再重新执行安装脚本

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://你自己的.mirror.aliyuncs.com"]
}
EOF
#重启docker
systemctl restart docker

9.镜像下载完成会自行安装,完整镜像如下:
在这里插入图片描述
启动成功后查看启动的容器:
在这里插入图片描述

10.harbor默认的端口为80,安装完直接访问,一下为我自己的主机ip
http://192.168.56.108/
用户名:admin
密码:Harbor12345
在这里插入图片描述
11.登陆测试,本次测试是再安装harbor机上进行测试
在这里插入图片描述
报错原因,docker默认是使用https去登陆镜像仓库的,此时配置daemon.json文件配置一下内容
解决办法:

#停用已启用的harbor,如果测试不是harbor的安装机则停掉其它应用
docker-compose stop 
#编辑docker配置文件
vi /etc/docker/daemon.json
#将当前机器的ip配置为不安全的仓库地址
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],"insecure-registries":["192.168.56.108"]
}
#重启docker
systemctl restart docker

12.再次进行登陆,登陆成功
在这里插入图片描述
13.镜像推送与拉取测试
harbor新建项目test-repo
在这里插入图片描述
下载nginx镜像做测试

#下载nginx镜像
docker pull nginx
#为镜像打标签
docker tag nginx 192.168.56.108/test-repo/nginx:v1
#将镜像推送至harbor
docker push 192.168.56.108/test-repo/nginx:v1

在这里插入图片描述
14.harbor管理charts
具体参考官网:Managing Helm Charts

关于安装v2.3.0版失败,解决方法:
1.问题描述:第一次在centos上安装harbor正常安装,正常使用,但是推送镜像时必须要https,但是我又不想配https,就在docker加了下信任文件,然后重启docker,然后就是启动不了了,如下:
在这里插入图片描述
2.看到db一直在重启,所以首先查看db的日志,日志放哪里,看docker-compose.yml里面有,默认是放 /var/log/harbor/
进去查看postgresql.log,看报什么错:

Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: initdb: error: directory "/var/lib/postgresql/data/pg13" exists but is not empty
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: If you want to create a new database system, either remove or empty
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: the directory "/var/lib/postgresql/data/pg13" or run initdb
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: with an argument other than "/var/lib/postgresql/data/pg13".
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: ls: cannot access '/var/lib/postgresql/data': Operation not permitted
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The files belonging to this database system will be owned by user "postgres".
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: This user must also own the server process.
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The database cluster will be initialized with locales
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   COLLATE:  en_US.UTF-8
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   CTYPE:    en_US.UTF-8
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   MESSAGES: C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   MONETARY: C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   NUMERIC:  C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   TIME:     C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The default text search configuration will be set to "english".

因为我之前单独安装过postgresql,所以那个目录不为空吗,其实我也不确定:
然后我干了以下几件事:
1.创建了postgres用户,并授予了all权限
2.编辑/etc/profile,添加导出export LANG=en_US.UTF8

# 查看
env | grep -e LANG -e LC_ALL
# 修改/etc/profile加上
export LC_ALL=en_US.UTF8
export LANG=en_US.UTF8

3.重启还不行
然后重装,更改harbor.yml文件时,将db的目录改下,不要使用/data
在这里插入图片描述
重装./install.sh后,成功,执行该启动文件后,将会根据harbor.yml配置的值生成docker-compose.yml文件

这篇关于harbor镜像仓库的安装http版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114351

相关文章

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知