centos搭建docker镜像Harbor仓库的简明方法

在kubernetes集群中如果要部署springcloud这样的应用,就必须有一个自建的docker镜像中心仓库。

它的目的有两点: 1. 镜像拉取速度快  2. 开发好维护

而Harbor是一个非常好用的docker本地仓库

所以本篇文章来讲讲如何在部署Harbor仓库

首先系统版本最低要求:

System requirements:

On a Linux host: docker 17.06.0-ce+ and docker-compose 1.18.0+ .

 也就是docker版本要大于17.06.0-ce+ , docker-compose版本要大于 1.18.0+ 。

否则没法安装。

docker升级方法: 

先卸载:

yum remove docker \
                 docker-client \                   

                  docker-client-latest \
                  docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-engine
 

再重新安装

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin

 docker-compose最好通过pip安装(这样能自动解决依赖问题)

python3通常会自带pip, 如果是python 2, 则这样安装pip

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

python get-pip.py

然后pip安装 docker-compose

pip install docker-compose

 这些重要依赖安装以后,然后到harbor官网下载安装包:Releases · goharbor/harbor · GitHub

 

 下载harbor安装包

 proxychains4 wget https://github.com/goharbor/harbor/releases/download/v2.9.1/harbor-offline-installer-v2.9.1.tgz  

// 注意:我这里使用了proxychains4加速下载,具体用法可以自行搜索

 然后解压安装包:

tar -xvf harbor-offline-installer-v2.9.1.tgz

 进入安装目录

cd harbor

 生成自建ssl证书:

#创建证书目录

mkdir sslcert 

cd sslcert

#执行创建证书脚本

./gencert.sh

 以下是创建证书脚本的内容

#!/bin/bash
domain="registry.myharbor.com"  # 此处写harbor仓库的自定义域名
rm -f ca*  ${domain}.* full_chain*
echo "开始生成证书------------"
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key \
  -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=MyCA" \
  -x509 -days 36500 -out ca.crt

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ${domain}.key \
  -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=${domain}" \
  -out ${domain}.csr

openssl x509 -req -in ${domain}.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ${domain}.crt -days 36500

鉴于docker信任自建证书的方法没什么卵用,所以这里就不再拷贝证书到/etc/docker/certs.d/域名目录了,因为确实没有什么鸟用。

然后修改harbor.yml.tmpl文件

 然后修改该文件的下面三处内容:

1. harbor仓库域名

2. 指定自建http证书和key的路径

3. 指定harbor仓库的管理员密码(docker push的时候会用到)


 然后把harbor.yml.tmpl重命名为harbor.yml,

 cp harbor.yml.tmpl harbor.yml

 记住:这一步很重要,否则后面会报错:no config file: /opt/harbor/harbor.yml

 然后开始安装harbor:

./install.sh

 至此harbor仓库安装完成,此时harbor仓库已经启动。

可以通过自定义域名访问harbor仓库:

 注意:因为harbor是通过docker-compose管理的,所以以下是docker-compose管理harbor的命令

// 切换到harbor的安装目录

docker-compose up -d  // 启动harbor并在后台运行 (harbor没有启动时候执行该命令)

docker-compose down // 删除所有harbor容器

docker-compose restart // 重启所以harbor容器

docker-compose stop   // 停止所有harbor容器

docker-compose start // 启动所以已停止的harbor容器

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

此芯科技加入绿色计算产业联盟,参编绿色计算产业发展白皮书

近日,此芯科技正式加入绿色计算产业联盟(Green Computing Consortium,简称GCC),以Arm架构通用智能CPU芯片及高能效的Arm PC计算解决方案加速构建软硬协同的绿色计算生态体系,推动绿色计算产业加速发展。 继…

Linux_系统信息_uname查看内核版本、内核建立时间、处理器类型、顺便得到操作系统位数等

1、uname --help 使用uname --help查看uname命令的帮助信息 2、uname -a 通过上面的help就知道-a选项显示全部内容时的含义了。 内核名是Linux主机名是lubancat,如果想看主机名可以使用命令hostname;内核版本是Linux 4.19.232,建立时间为2…

全栈工程师必须要掌握的前端Html技能

作为一名全栈工程师,在日常的工作中,可能更侧重于后端开发,如:C#,Java,SQL ,Python等,对前端的知识则不太精通。在一些比较完善的公司或者项目中,一般会搭配前端工程师&a…

【二分法】

二分法可以在有序排列中&#xff0c;通过不断对半切割数据&#xff0c;提高数据查找效率。 lst [1,4,6,7,45,66,345,767,788,999] n 66 left 0 right len(lst)-1 while left < right: #边界&#xff0c;当右边比左边还小的时候退出循环 mid (left right)//2 …

JVM虚拟机-虚拟机执行子系统-第6章 类文件结构

各种不同平台的Java虚拟机&#xff0c;以及所有平台都统一支持的程序存储格式——字节码&#xff08;Byte Code&#xff09;是构成平台无关性的基石 Class类文件的结构 字节码指令&#xff1a;操作码 操作数 任何一个Class文件都对应着唯一的一个类或接口的定义信息 Class文件…

C/C++输出整数部分 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C输出整数部分 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C输出整数部分 2021年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个双精度浮点数f&#xff0c; 输出其整…

C++打怪升级(十一)- STL之list

~~~~ 前言1. list是什么2. list接口函数的使用1. 构造相关默认构造n个val构造迭代器范围构造拷贝构造 2 赋值运算符重载函数2 析构函数3 迭代器相关begin 和 endrbegin 和rend 4 容量相关emptysize 5 元素访问相关frontback 6 修改相关push_backpop_backpush_frontpop_frontins…

【OJ比赛日历】快周末了,不来一场比赛吗? #11.18-11.24 #15场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-11-18&#xff08;周六&#xff09; #5场比赛2023-11-19…

受电诱骗快充取电芯片XSP08:PD+QC+华为+三星多种协议9V12V15V20V

目前市面上很多家的快充充电器&#xff0c;都有自己的私有快充协议&#xff0c;如PD协议、QC协议、华为快充协议、三星快充协议、OPPO快充协议等待&#xff0c;为了让它们都能输出快充电压&#xff0c;就需要在受电端也增加快充协议取电芯片XSP08&#xff0c;它可以和充电器通讯…

我记不住的getopt_long的那些参数和返回值

前言&#xff1a;最近在学习面向Linux系统进行C语言的编程&#xff0c;通过查询man手册和查看网络上的各种文章来获取一点点的知识&#xff0c;重点是看完手册还是一脸懵逼&#xff0c;搞不懂手册里面再说啥&#xff0c;而本篇文章将记录一下学习getopt_long的那些参数和返回值…

IDEA无法查看源码是.class,而不是.java解决方案?

问题&#xff1a;在idea中&#xff0c;ctrl鼠标左键进入源码&#xff0c;但是有时候会出现无法查看反编译的源码&#xff0c;如图&#xff01; 而我们需要的是方法1: mvn dependency:resolve -Dclassifiersources 注意&#xff1a;需要该模块的目录下&#xff0c;不是该文件目…

计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

LeetCode(24)文本左右对齐【数组/字符串】【困难】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 文本左右对齐 1.题目 给定一个单词数组 words 和一个长度 maxWidth &#xff0c;重新排版单词&#xff0c;使其成为每行恰好有 maxWidth 个字符&#xff0c;且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单…

spring中的DI

【知识要点】 控制反转&#xff08;IOC&#xff09;将对象的创建权限交给第三方模块完成&#xff0c;第三方模块需要将创建好的对象&#xff0c;以某种合适的方式交给引用对象去使用&#xff0c;这个过程称为依赖注入&#xff08;DI&#xff09;。如&#xff1a;A对象如果需要…

flutter web 中嵌入一个html

介绍 flutter web 支持使用 HtmlElementView嵌入html import dart:html; import dart:ui as ui; import package:flutter/cupertino.dart;class WebWidget extends StatelessWidget {const WebWidget({super.key});overrideWidget build(BuildContext context) {DivElement fr…

flutter绘制弧形进度条

绘制&#xff1a; import package:jade/utils/JadeColors.dart; import package:flutter/material.dart; import dart:math as math; import package:flutter_screenutil/flutter_screenutil.dart;class ArcProgressBar extends StatefulWidget{const ArcProgressBar({Key key…

Linux系统进程——进程的退出、子进程退出的收集、孤儿进程

进程退出 进程退出主要分为两种&#xff1a;正常退出、异常退出 正常退出 正常退出分为以下几种&#xff1a; 1.main函数调用return 2.进程调用exit(),标准c库 3.进程调用 _exit() 或者 _Exit() &#xff0c;属于系统调用 4.进程最后一个线程返回 5.最后一个线程调用pthrea…

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册 晨控CK-FR08系列是一款基于射频识别技术的高频RFID标签读卡器&#xff0c;读卡器工作频率为13.56MHZ&#xff0c;支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协议Eth…

ubuntu20源码编译搭建SRS流媒体服务器

第一、下载源码 下载源码&#xff0c;推荐用Ubuntu20&#xff1a; git clone -b develop https://gitee.com/ossrs/srs.git第二、编译 2.1、切换到srs/trunk目录&#xff1a; cd srs/trunk2.2、执行configure脚本 ./configure2.3、执行make命令 make2.4、修改conf/rtmp.c…

通讯录实现之进阶版将通讯录数据保存在文件中(完整代码)

我们在之前的博客中已经写过两版通讯录了&#xff1a; 第一版是用C语言实现了通讯录&#xff0c;但是通讯录的存储人数信息是固定的&#xff0c;用完就没有了 感兴趣的可以转到对应博客看一下&#xff0c;附带链接&#xff1a;第一版通讯录 第二版是在第一版的基础上动态开辟…