【harbor】harbor的搭建与使用

news2024/11/16 8:24:19

harbor的搭建与使用

文章目录

  • harbor的搭建与使用
    • 1. harbor的下载
    • 2. 创建ssl证书
    • 3.harbor的配置
    • 3. docker修改
    • 4.启动harbor
    • 5.使用docker
    • 总结

1. harbor的下载

harbor仓库地址:https://github.com/goharbor/harbor

harbor主要是go语言写的,但是我们docker启动,就没什么影响

下载地址:https://github.com/goharbor/harbor/releases/tag/v2.9.4

选择offline的版本:
目前最新的是2.9.4的版本,但是差不多
在这里插入图片描述
/app/harbor是指定下载到哪里,当然也可以windows下载再传到linux

wget https://github.com/goharbor/harbor/releases/download/v2.9.4/harbor-offline-installer-v2.9.4.tgz -C  /app/harbor

解压

tar xf harbor-offline-installer-v2.9.4.tgz -C /app/

可以看到,里面有个文件

ls
common  common.sh  docker-compose.yml  harbor.v2.9.4.tar.gz   harbor.yml.tmpl  install.sh  LICENSE  prepare

里面有个harbor.yml.tmpl

这里复制下

cp harbor.yml.tmpl harbor.yml

2. 创建ssl证书

由于harbor必须要ssl证书,很烦
这里修改先创建

这里CN设置自己本机的IP地址

mkdir -p /app/cert
cd /app/cert
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=192.168.3.101" \
    -key ca.key \
    -out ca.crt #CN 替换为你的仓库域名

会生成两个证书,一个ca.key, 另一个ca.crt

将 Harbor 生成的证书 /app/cert/ca.crt 复制到 客户端的 /etc/docker/certs.d/仓库域名/。

cp /app/cert/ca.crt  /etc/docker/certs.d/192.168.3.101/

3.harbor的配置

修改harbor.yml

刚才复制了下,但是没改

vim harbor.yml

修改为:

# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# hostname:就是ssl证书的地址
hostname: 192.168.3.101

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  # 这里修改证书的路径
  certificate: /app/cert/ca.crt
  private_key: /app/cert/ca.key
harbor_admin_password: Harbor12345 # 设置管理员密码

改好上面这几个之后
运行脚本

./prepare
# 安装 
./install.sh

# 当有编辑/变更harbor.yml文件,请重新执行 ./prepare 

# 关闭容器
docker-compose down

这样基本就算安装完整了,剩下就差启动了

3. docker修改

  1. 首先修改daemon.json
    加下这句 "insecure-registries":["192.168.3.101"]
vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.3.101"]

}

修改/usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  --insecure-registry=192.168.3.101
  1. 重启docker
systemctl restart docker

4.启动harbor

cd /app/harbor
docker-compose up -d

5.使用docker

这里需要输入harbor的账号密码

docker login 192.168.3.101


docker  tag  centos:latest   192.168.3.101/test/centos:latest  # tag 名称= 仓库地址/项目名称/镜像名称:标记(版本号)

# 推镜像到仓库
docker  push  192.168.3.101/test/centos:latest

下载镜像

docker pull 192.168.3.101/test/centos:latest

总结

这样基本就算完成了, 主要还是ssl证书的问题会困扰一下,其他相对来说较为简单

在这里插入图片描述

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

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

相关文章

Docker停止不了

报错信息 意思是,docker.socket可能也会把docker服务启动起来 解决 检查服务状态 systemctl status dockersystemctl is-enabled docker停止docker.socket systemctl stop docker.socket停止docker systemctl stop docker知识扩展 安装了docker后,…

计算机字符集产生的历史与乱码

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

python数据分析——pandas数据结构2

参考资料:活用pandas库 导入基础数据 # 导入库 import pandas as pd # 读取数据集 dfpd.read_csv(r"..\data\scientists.csv") df.head() 1、DataFrame DataFrame是Pandas中最常见的对象。可以把它看作python存储电子表格式数据的方式。Series数据结构…

PMOS和NMOS

一. MOS管简介 MOS管是场效应管的一种,主要有两种结构形式:N沟道和P沟道,又根据场效应原理的不同,分为耗尽型(当栅压为零时有较大漏极电流)和增强型(当栅压为零,漏极电流也为零&…

Jenkins 备份恢复插件 ThinBackup

系统环境: Jenkins 版本:2.213 一、简介 在部署完 Jenkins 后首先要准备的就是数据备份问题,尤其是在生产环境下的 Jenkins,如果数据丢失很可能导致项目上线和开发时间受到影响,所以备份数据很重要。还好,…

[算法][差分数组][leetcode]1094. 拼车

地址&#xff1a; https://leetcode.cn/problems/car-pooling/description/ 解法一&#xff1a;暴力解法 class Solution {public boolean carPooling(int[][] trips, int capacity) {//特殊条件判断if(nulltrips||capacity<0){return false;}int [] d new int[1001];//暴…

VTK官方例子

VTK官方例子 vtkMutableDirectedGraph #!/usr/bin/env python# noinspection PyUnresolvedReferences import vtkmodules.vtkInteractionStyle # noinspection PyUnresolvedReferences import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkName…

数组二叉树-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布一些解题思路&#xff0c;希望大家多指教 一、题目描述 二叉树也可以用数组来存储&#xff0c;给定一个数组&#xff…

信息系统项目管理师0103:初步可行性研究(7项目立项管理—7.2项目可行性研究—7.2.2初步可行性研究)

点击查看专栏目录 文章目录 7.2.2初步可行性研究1.初步可行性研究定义2.辅助研究的目的和作用3.初步可行性研究的作用4.初步可行性研究的主要内容记忆要点总结7.2.2初步可行性研究 1.初步可行性研究定义 初步可行性研究一般是在对市场或者客户情况进行调查后,对项目进行的初步…

linux上使用mariadb安装mysql环境

之前都是手动安装mysql数据库&#xff0c;现在尝试下在线安装&#xff0c;为后面的项目部署做准备&#xff0c;突然发现使用mariadb安装mysql环境真的超级简单。 1.使用mariadb安装mysql 安装服务端&#xff1a; yum install mariadb-server -y 安装客户端&#xff1a; yum i…

大数据Scala教程从入门到精通第六篇:Scala编译结果反编译分析

一&#xff1a;Scala编译结果反编译分析 问题&#xff1a;为什么Scalac之后的生成的class文件有两个&#xff0c;一个带$的&#xff0c;一个不带$的&#xff1f; 不能直接java 执行scala编译的字节码文件。 直接运行的话就会报错&#xff0c;会报一个类没有被找到。 引入类库就…

【全面介绍下Spring】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Excel中实现md5加密

1.注意事项 (1)在Microsoft Excel上操作 (2)使用完&#xff0c;建议修改的配置全部还原&#xff0c;防止有风险。 2.准备MD5宏插件 MD5加密宏插件放置到F盘下&#xff08;直接F盘下&#xff0c;不用放到具体某一个文件夹下&#xff09; 提示&#xff1a;文件在文章顶部&…

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测 目录 JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TTAO-CNN-BiLSTM-MATT三角拓扑聚合优化器优化双向长短期记忆神经网络融合多头注意力…

JAVA 标准接口返回与i18n国际化配置

不喜欢废话直接上代码 标准通用返回 package com.luojie.common;import com.luojie.common.inter.ResponseCommon; import lombok.Data;Data public class ResponseCommonImpl implements ResponseCommon {int code;String msg;Object entity; }package com.luojie.common;im…

苹果电脑MAC清理系统空间工具CleanMyMacX4.15.3中文版下载

苹果电脑以其出色的性能、优雅的设计和高效的操作系统而受到许多用户的喜爱。然而&#xff0c;随着时间的推移和使用量的增加&#xff0c;你可能会发现你的Mac开始变得缓慢和响应迟缓。这通常是因为硬盘空间被大量占用&#xff0c;影响了系统的整体性能。幸运的是&#xff0c;有…

白话机器学习4:小波分解的原理与Python代码实现

小波去噪可以想象成使用一把“筛子”来过滤信号。这个“筛子”能够根据信号的不同频率成分&#xff0c;将其分解成多个层次。在这个过程中&#xff0c;信号的重要信息通常包含在低频部分&#xff0c;而噪声则多分布在高频部分。 将信号通过这个“筛子”分解后&#xff0c;我们可…

基于Java+SpringBoot+Mybaties-plus+Vue+elememt 驾校管理 设计与实现

一.项目介绍 系统角色&#xff1a;管理员、驾校教练、学员 管理员&#xff1a; 个人中心&#xff1a;修改密码以及个人信息修改 学员管理&#xff1a;维护学员信息&#xff0c;维护学员成绩信息 驾校教练管理&#xff1a;驾校教练信息的维护 驾校车辆管理&…

线性集合:ArrayList,LinkedList,Vector/Stack

共同点&#xff1a;都是线性集合 ArrayList ArrayList 底层是基于数组实现的&#xff0c;并且实现了动态扩容&#xff08;当需要添加新元素时&#xff0c;如果 elementData 数组已满&#xff0c;则会自动扩容&#xff0c;新的容量将是原来的 1.5 倍&#xff09;&#xff0c;来…

Python专题:八、列表(1)

Python的内置数据类型 数据类型&#xff1a;列表 list类型 可以是字符串&#xff0c;浮点数&#xff0c;整数&#xff0c;列表 列表特性 ①集合性的数据类型 ②列表是有序的 ③列表是可更新的 访问列表元素的方式也是[索引]&#xff0c;也是从0开始的&#xff0c;不能超过…