docker仓库--centos7.9部署harbor详细过程与使用以及常见问题

文章目录

  • 前言
    • 1.docker-compose是什么
    • 2.harbor是什么
  • centos7部署harbor详细过程与使用
    • 环境
      • 一、部署docker
      • 二、部署harbor
        • 1.下载docker-compose工具
        • 2.harbor安装
        • 3.拷贝样本文件,并修改文件
        • 4.安装harbor,安装完成自行启动
        • 5.查看
      • 三、harbor的使用
        • 1.创建项目
        • 2.上传
        • 2.下载操作


前言

在部署harbor之前,我们需要简单了解两个比较重要的知识点

1.docker-compose是什么

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。它通过一个简单的配置文件来描述应用的服务、网络和卷等,并提供一组命令来管理这些服务。

2.harbor是什么

Harbor 是一个开源的容器镜像仓库管理工具。它为存储和管理 Docker 镜像提供了一个安全、可靠的环境,并增强了镜像的管理能力。

centos7部署harbor详细过程与使用

环境

虚拟机

Ip主机名cpu内存硬盘
192.168.10.11vm12cpu两核2G100G
192.168.10.18harbor1cpu一核2G100G

11用来下载harbor服务的镜像
版本 centos7.9

一、部署docker

wget -O /etc/yum.repos.d/docker-ce.repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum  -y  install docker-ce-20.10.20 
systemctl enable docker
systemctl start docker
docker version

出现这个代表安装成功 显示的是客户端和服务器的版本信息
在这里插入图片描述

二、部署harbor

1.下载docker-compose工具
wget https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64

如果提示没有wget,输入以下命令

yum -y install wget

下载完成之后,移动到/usr/local/bin/目录

mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

增加可执行权限

chmod +x /usr/local/bin/docker-compose

查看版本号,并验证命令可用

docker-compose -v

如果顺利的话,就能看到版本
在这里插入图片描述
注:如果报错,把docker-compose删除,重新下载,重复以上步骤即可

2.harbor安装

下载压缩包

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

将harbor包解压到/usr/local/下

tar xf harbor-offline-installer-v2.8.3.tgz -C /usr/local/
cd /usr/local/harbor
3.拷贝样本文件,并修改文件
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

修改处
hostname后面改成本机ip
将https的都注释掉,因为harbor通常不考虑对外提供服务,大多数都是对内提供服务

修改前
在这里插入图片描述
修改后
在这里插入图片描述

4.安装harbor,安装完成自行启动
./prepare
./install.sh

在这里插入图片描述
其实最终harbor还是由一个个容器组成一个架构,实现私有仓库的功能
我们可以查看docker ps一下

docker ps

在这里插入图片描述

5.查看

宿主机浏览器访问192.168.10.18即可
在这里插入图片描述
你就会看到登录界面
默认账号
admin
默认密码
Harbor12345
登录即可
在这里插入图片描述

三、harbor的使用

1.创建项目

在这里插入图片描述
我们来创建一个名为nginx的项目
在这里插入图片描述

可以看到新创建出来的项目
在这里插入图片描述

2.上传

harbor本地服务器上传镜像

更改docker配置文件

vim /etc/docker/daemon.json
{"insecure-registries": ["192.168.10.18"]
}

重新加载systemd、重启docker服务,重启harbor服务

systemctl daemon-reload
systemctl restart docker
cd /usr/local/harbor
docker-compose restart

注:harbor重启失败 | web页面访问不到 | 密码或账号输入不对(确定自己输入对了) 就再重启几次,
如果一直不行且harbor仓库里无重要镜像,直接在harbor目录

,/install

即可

注:指定多个私有仓库时, “insecure-registries”: [“192.168.10.11”,“192.168.10.12:5000”]

登录
在这里插入图片描述

上传私有镜像
下载一个镜像用来上传,这里使用的是nginx:latest镜像

docker pull nginx:latest

如果要把镜像上传到harbor
镜像名称要修改成:私有仓库ip/项目名称/镜像名称

docker tag nginx:latest 192.168.10.18/nginx/nginx1:v1

上传

docker push 192.168.10.18/nginx/nginx1:v1

在这里插入图片描述

在web页面查看
可以看到nginx项目的镜像的镜像数变成了1在这里插入图片描述

点击nginx
在这里插入图片描述
就能看见镜像了
再点击nginx/nginxv1
在这里插入图片描述
就能看见版本了
在这里插入图片描述

2.下载操作

其他内部服务器上传操作同上,区别仅有不重启harbor服务
这里以192.168.10.11举例
安装docker

wget -O /etc/yum.repos.d/docker-ce.repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum  -y  install docker-ce-20.10.20 
systemctl enable docker
systemctl start docker
docker version

更改docker配置文件

vim /etc/docker/daemon.json
{"insecure-registries": ["192.168.10.18"]
}

重新加载systemd、重启docker服务,重启harbor服务

systemctl daemon-reload
systemctl restart docker

登录
在这里插入图片描述
下载harbor镜像

docker pull 192.168.10.18/nginx/nginx1:v1

因为是内部服务,下载速度应该很快
在这里插入图片描述

查看一下

docker images

可以看到已经下载下来了
在这里插入图片描述
web页面也可以看到下载数变成了1
在这里插入图片描述
完成

常见问题写在了过程里面
如果对您有帮助可以点点关注和点赞

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

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

相关文章

Https网站如何申请免费的SSL证书及操作使用指南

前言 在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名…

StreamSets: 数据采集工具详解

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 欢迎关注微信公众号:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&a…

Golang语法规范和风格指南(一)——简单指南

1. 前引 一个语言的规范的学习是重要的,直接关系到你的代码是否易于维护和理解,同时学习好对应的语言规范可以在前期学习阶段有效规避该语言语法和未知编程风格的冲突。 这里是 Google 提供的规范,有助于大家在开始学习阶段对 Golang 进行一…

Tensorflow入门实战 T07-Vgg16网络进行咖啡豆识别

本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 1、 前言 这周学习的主要内容是,使用tensorflow编写代码,使用vgg-16网络模型,完成咖啡豆的识别。 2、完整代码 imp…

【密码学基础】对随机不经意传输(Random Oblivious Transfer)的理解

ROT在offline阶段生成大量的OT对,在online阶段通过one-pad方式高效加密,并且只需要简单的异或运算就能实现OT过程(去随机化)。 在ROT中,有一个关键点是:需要考虑offline阶段的选择比特和online阶段的选择比…

C++ 视觉开发 六.特征值匹配

以图片识别匹配的案例来分析特征值检测与匹配方法。 目录 一.感知哈希算法(Perceptual Hash Algorithm) 二.特征值检测步骤 1.减小尺寸 2.简化色彩 3.计算像素点均值 4.构造感知哈希位信息 5.构造一维感知哈希值 三.实现程序 1.感知哈希值计算函数 2.计算距离函数 3…

vscode 生成项目目录结构 directory-tree 实用教程

1. 安装插件 directory-tree 有中文介绍,极其友好! 2. 用 vscode 打开目标项目 3. 快捷键 Ctrl Shift p,输入 Directory Tree 后回车 会在 README.md 文件的底部生成项目目录(若项目中没有 README.md 文件,则会自动创…

用NanoID换掉 UUID,好处是?【送源码】

当我们在分布式环境中存储一些数据的时候,不得不面对的一个选择,就是ID生成器。 使用一个唯一的字符串,来标识一条完整的记录。 这时候,不能使用md5或者sha1来对整个记录做摘要,因为我们后续还要改动这个记录。也不能…

【C++】日期类

鼠鼠实现了一个日期类,用来练习印证前几篇博客介绍的内容!! 目录 1.日期类的定义 2.得到某年某月的天数 3.检查日期是否合法 4.(全缺省)构造函数 5.拷贝构造函数 6.析构函数 7.赋值运算符重载 8.>运算符重…

高效PD,稳定传输,LDR6023CQ芯片,打造顶级直播体验

在当今市场,一款备受瞩目的直播神器——无线领夹麦克风(MIC),正风靡于网红直播、在线教育、专业采访、高清视频录制及视频会议等多个领域。麦克风,这一昔日课堂上的常见设备,已随着科技的飞速发展而焕然一新…

数字信号处理及MATLAB仿真(2)——离散系统

上回书说到如何来编写一些简单的离散时间序列,今天咱们就来谈谈一些关于常系数差分方程的操作吧。 说到这里咱们对于常系数差分方程可能最关心的就是怎么去求解了。 其中最关键的部分就是filter函数,可以用来计算系统在输入信号为x的输出信号y。大家学过…

ASUS/华硕枪神5 G533Q G733Q系列 原厂win10系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 ,安装结束后带隐藏分区,一键恢复,以及机器所有驱动软件。 系统版本:Windows10 原厂系统下载网址:http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意:仅支持以上型号专用…

JAVA--JSON转换工具类

JSON转换工具类 import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackso…

NoSQL 非关系型数据库 Redis 的使用:

redis是基于内存型的NoSQL 非关系型数据库,本内容只针对有基础的小伙伴, 因为楼主不会做更多的解释,而是记录更多的技术接口使用,毕竟楼主不是做教学的,没有教学经验。 关于redis的介绍请自行搜索查阅。 使用redis数据…

h5 video 标签播放经过 java 使用 ws.schild( jave、ffmpeg ) 压缩后的 mp4 视频只有声音无画面的问题排查记录

1. 引入 ws.schild MAVEN 依赖&#xff1a; <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>3.5.0</version></dependency><dependency><groupId>ws.schild</grou…

idm下载慢怎么回事 idm批量导入下载使用方法

IDM (Internet Download Manager)是一款兼容性大&#xff0c;支持多种语言的下载管理软件&#xff0c;它可以自动检测并下载网页上的内容&#xff0c;这正是这一优点&#xff0c;使得它受到了广大用户的喜爱。在日常使用互联网的过程中&#xff0c;快速下载文件对我们来说非常重…

Victor CMS v1.0 SQL 注入漏洞(CVE-2022-26201)

前言 CVE-2022-26201 是 Victor CMS v1.0 中发现的一个 SQL 注入漏洞。该漏洞允许攻击者通过特制的 SQL 查询注入到应用程序中&#xff0c;从而访问或操作数据库中的数据。以下是详细信息&#xff1a; 漏洞描述&#xff1a; 类型&#xff1a;SQL 注入 (SQL Injection)影响版本…

LLM - 神经网络的训练过程

1. 对于回归问题&#xff0c;用损失函数来计算预测值和真实值的差异&#xff0c;一种常用的公式是如下图所示(Mean Square Error)&#xff0c;如果损失函数的值越小说明神经网络学习越准确&#xff0c;所以神经网络训练目标是减小损失函数的值&#xff0c; 2. 对于分类问题&…

并发、多线程和HTTP连接之间有什么关系?

一、并发的概念 并发是系统同时处理多个任务或事件的能力。在计算中&#xff0c;这意味着系统能够在同一时间段内处理多个任务&#xff0c;而不是严格按照顺序一个接一个地执行它们。并发提高了系统的效率和资源利用率&#xff0c;从而更好地满足用户的需求。在现代应用程序中&…

SwiftUI中List的liststyle样式及使用详解添加、移动、删除、自定义滑动

SwiftUI中的List可是个好东西&#xff0c;它用于显示可滚动列表的视图容器&#xff0c;类似于UITableView。在List中可以显示静态或动态的数据&#xff0c;并支持垂直滚动。List是一个数据驱动的视图&#xff0c;当数据发生变化时&#xff0c;列表会自动更新。针对List&#xf…