基于CentOS搭建私有仓库harbor

环境:

        操作系统:CentOS Linux 7 (Core)
        内核: Linux 3.10.0-1160.el7.x86_64

目录

安装搭建harbor

(1)安装docker编排工具docker compose

(2)下载Harbor 安装包

(3)修改配置文件

(4)添加主机映射

安装启动harbor

安装后验证

使用Harbor

①访问浏览器

②登录

③新建一个项目

上传下载镜像到harbor仓库

(1)修改docker配置,添加harbor仓库为信任地址

(2)把要上传的镜像打上合适的标签

(3)登录harbor仓库

(4)上传镜像

(5)在harbor上验证上传成功

控制harbor服务

(1)暂停/取消暂停harbor服务

(2)关闭/开启harbor服务

安装搭建harbor

(1)安装docker编排工具docker compose

[root@node1 ~]# yum -y install epel-release  #安装pip需要先安装epel-release包

[root@node1 ~]# yum install -y python-pip        #安装pip

[root@node1 ~]# pip install --upgrade pip         #升级pip

[root@node1 ~]# pip install docker-compose        #安装docker-compose

[root@node1 ~]# docker-compose -v
/usr/local/lib/python3.6/site-packages/paramiko/transport.py:32: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.
  from cryptography.hazmat.backends import default_backend
docker-compose version 1.29.2, build unknown

若升级报错:

原因:

yum install python-pip时,CentOS7默认的python版本是2.7。它不支持更新到最新版本。

解决:

[root@node1 bin]# yum install -y python3-pip    #安装python3的pip

[root@node1 bin]# pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple        #升级pip(需要使用pip3指令),-i 添加镜像源地址,提高下载速度
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
[root@node1 bin]# pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

(2)下载Harbor 安装包

添加一块新硬盘格式化后挂载在/harbordata:

①添加sdb1磁盘

首先把虚拟机系统关机,在弹出的界面中单击添加按钮,新增一块硬件设备,如下图所示:

在虚拟机中模拟添加了硬盘设备后就应该能看到抽象成的硬盘设备文件了。按照udev 服务命名规则,第二个被识别的SCSI 设备应该会被保存为/dev/sdb,这个就是硬盘设备文件了。但在开始使用该硬盘之前还需要进行分区操作,例如从中取出一个10GB 的分区设备以供后面的操作使用。

fdisk 命令来尝试管理/dev/sdb 硬盘设备:

[root@node1 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x67bd3d87.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

在上述步骤执行完毕之后,Linux 系统会自动把这个硬盘主分区抽象成/dev/sdb1 设备文件。可以使用file 命令查看该文件的属性,但有些时候系统并没有自动把分区信息同步给Linux 内核,而且这种情况似乎还比较常见(但不能算作是严重的bug)。可以输入partprobe 命令手动将分区信息同步到内核,而且一般推荐连续两次执行该命令,效果会更好。如果使用这个命令都无法解决问题,那么就重启计算机。

[root@node1 ~]# file /dev/sdb1
/dev/sdb1: block special
[root@node1 ~]# partprobe 
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.
[root@node1 ~]# partprobe 
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.

[root@node1 ~]# file /dev/sdb1
/dev/sdb1: block special
②格式化和挂载

[root@node1 ~]# mkfs.ext4 /dev/sdb1

[root@node1 ~]# mkdir /harbordata
[root@node1 ~]# mount /dev/sdb1 /harbordata/
[root@node1 ~]# df -h

(3)修改配置文件

[root@node1 ~]# /harbordata/harbor

[root@node1 harbor]# cp harbor.yml.tmpl harbor.yml

[root@node1 harbor]# vim harbor.yml
修改hostname值和注释https为443的信息,如下

(4)添加主机映射

[root@node1 harbor]# tail -1 /etc/hosts
192.168.19.133 node1

安装启动harbor

[root@node1 harbor]# ./install.sh 

安装后验证

①打开了一些端口

[root@node1 harbor]# ss -lntup | grep docker
tcp    LISTEN     0      128    127.0.0.1:1514                  *:*                   users:(("docker-proxy",pid=26691,fd=4))
tcp    LISTEN     0      128       *:80                    *:*                   users:(("docker-proxy",pid=27275,fd=4))
tcp    LISTEN     0      128    [::]:80                 [::]:*                   users:(("docker-proxy",pid=27279,fd=4))
②harbor实际就是启动了一些docker服务

[root@node1 harbor]# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED              STATUS                        PORTS                                   NAMES
be75291d7f54   goharbor/nginx-photon:v2.8.4         "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp   nginx
8391933a9bd0   goharbor/harbor-jobservice:v2.8.4    "/harbor/entrypoint.…"   About a minute ago   Up 58 seconds (healthy)                                               harbor-jobservice
d4be8400acb4   goharbor/harbor-core:v2.8.4          "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                                           harbor-core

使用Harbor

①访问浏览器

②登录

初始密码在harbor.cfg 文件有记录

③新建一个项目

上传下载镜像到harbor仓库

(1)修改docker配置,添加harbor仓库为信任地址,重启docker

[root@node1 harbor]# cat /etc/docker/daemon.json 
{
"registry-mirrors": ["http://registry.docker-cn.com"],
"insecure-registries": ["192.168.169.133:8081"],
"insecure-registries": ["node1:8081"]
}

(2)把要上传的镜像打上合适的标签

[root@node1 harbor]# docker tag goharbor/harbor-db:v2.8.4 node1:80/test/harbor-db:v2.8.4
[root@node1 harbor]# docker image ls | grep test
node1:80/test/harbor-db         v2.8.4    5b8af16d7420   6 days ago   174MB

(3)登录harbor仓库

[root@node1 harbor]# docker login node1:8081
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

(4)上传镜像

[root@node1 harbor]# docker push node1:8081/test/harbor-db:v2.8.4
The push refers to repository [node1:80/test/harbor-db]
b91c1501abe9: Pushed 
e30935897ec8: Pushed 
7600d3f327f6: Pushed 
04498149158d: Pushed 
8dd9b9af7425: Pushed 
6f34146f1977: Pushed 
98c144348806: Pushed 
22c2b4c49c70: Pushed 
b4faf8a74f36: Pushed 
627fc8f29b12: Pushed 
a074a02dfff1: Pushed 
v2.8.4: digest: sha256:f887f9197510e86e3c8a82235c1d170f7a3bc93b4823028077e2565ca27e17c3 size: 2612

(5)在harbor上验证上传成功

(6)拉取harbor中的镜像

#删除原本镜像

[root@node1 harbor]# docker rmi node1:8081/test/harbor-db:v2.8.4
Untagged: node1:8081/test/harbor-db:v2.8.4
Untagged: node1:8081/test/harbor-db@sha256:f887f9197510e86e3c8a82235c1d170f7a3bc93b4823028077e2565ca27e17c3

#验证是否删除

[root@node1 harbor]# docker image ls node1:8081/test/harbor-db:v2.8.4
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

#拉取镜像

[root@node1 harbor]# docker pull node1:8081/test/harbor-db:v2.8.4
v2.8.4: Pulling from test/harbor-db
Digest: sha256:f887f9197510e86e3c8a82235c1d170f7a3bc93b4823028077e2565ca27e17c3
Status: Downloaded newer image for node1:8081/test/harbor-db:v2.8.4
node1:80/test/harbor-db:v2.8.4

#验证是否拉取成功

[root@node1 harbor]# docker image ls node1:8081/test/harbor-db:v2.8.4
REPOSITORY                TAG       IMAGE ID       CREATED      SIZE
node1:8081/test/harbor-db   v2.8.4    5b8af16d7420   6 days ago   174MB

控制harbor服务

在harbor安装路径下,使用docker-compose命令对harbor进行控制

(1)暂停/取消暂停harbor服务

docker-compose pause

docker-compose unpause

(2)关闭/开启harbor服务

docker-compose stop

docker-compose start

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

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

相关文章

OpenCV 中的色彩空间 (C++ / Python)

在本教程中,我们将了解计算机视觉中使用的流行色彩空间,并将其用于基于颜色的分割。我们还将分享 C++ 和 Python 的演示代码。

THUHCSI人机语音交互实验室9篇论文被语音旗舰国际会议INTERSPEECH录用

2023年ISCA国际语音通讯学会年会(2023 Annual Conference of the International Speech Communication Association, INTERSPEECH 2023)将于2023年8月20日-24日在爱尔兰都柏林召开,清华大学人机语音交互实验室(THUHCSI&#xff09…

SpringCloud教程 | 第四篇:断路器(Hystrix)

在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplateRibbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身…

CentOS7安装部署Doris

文章目录 CentOS7安装部署Doris一、前言1.简介2.环境 二、正文1.Doris基础1)架构图2)通讯端口 2.部署服务器3.安装基础环境1)安装JDK 112)安装GCC3)设置文件句柄数4)关闭交换分区(swap&#xff…

Ruoyi安装部署(linux环境、前后端不分离版本)

目录 简介 1 新建目录 2 安装jdk 2.1 jdk下载 2.2 解压并移动文件夹到/data/service目录 2.3 配置环境变量 3 安装maven 3.1 进入官网下载最新的maven 3.2 解压并移动文件夹到/data//service目录 3.3 配置环境变量 3.4 配置本地仓库地址与阿里云镜像 4 安装git 4.…

SQL窗口函数

1、什么是窗口函数 窗口函数可以看作是在分区对记录执行操作的函数,窗口函数功能与group by相似,但不会改变记录行数,因此常用于排名,TopN操作。 2.窗口函数语法形式 窗口函数 over ([partition by 字段名] [order by 字段名]) …

java开源 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城 小程序商城搭建 bbc

​ 1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前…

湖北黄石三维扫描文物保护修复文物建模3d打印-CASAIM中科广电

三维激光扫描技术在博物馆领域的运用,主要在以下3个方面:文物保护、文物数字化、虚拟博物馆。随着时间的流逝和人类活动的影响,文物不可避免地会受到来自自然或者人为的侵蚀和破坏。由于CASAIM三维激光扫描技术具有不用接触被测量目标、扫描速…

【AIGC】AI工具合集人脸动漫化,老照片修复和视频补帧工具

Paper2GUI: 一款面向普通人的 AI 桌面 APP 工具箱,免安装即开即用,已支持 40AI 模型,内容涵盖 AI 绘画、语音合成、视频补帧、视频超分、目标检测、图片风格化、OCR 识别等领域。支持 Windows、Mac、Linux 系统。 小白兔AI 3.0版起永久免费A…

如何使用NLP库解析Python中的文本

Python是一种强大的面向对象的编程(object-oriented programming,OOP)语言,在人工智能领域有着广泛的用途。正是鉴于其实用性,以Google为首的大型科技公司,已经对其开发了Tensorflow等代码库,帮…

机器人制作开源方案 | 滑板助力器

我们可以用一块废滑板做些什么呢? 如今,越来越多的人选择电动滑板作为代步工具或娱乐方式,市场上也涌现出越来越多的电动滑板产品。 (图片来源:Backfire Zealot X Belt Drive Electric Skateboard– Backfire Board…

开源TTS+gtx1080+cuda11.7+conda+python3.9吊打百度TTS

一、简介 开源项目,文本提示的生成音频模型 https://github.com/suno-ai/bark Bark是由Suno创建的基于变换器的文本到音频模型。Bark可以生成极为逼真的多语种演讲以及其他音频 - 包括音乐、背景噪音和简单的声音效果。该模型还可以产生非言语沟通,如…

服务器安装centos7踩坑

1、制作启动工具 下载iso https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.20387abbo2RFbn http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.1995f5ad4AhJaW下载 UltraISO https://cn.ultraiso.net/插入u盘启动 到了如图所示页面…

大数据分析案例-基于LightGBM算法构建糖尿病确诊预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

iPhone如何录屏?详细教程大揭秘(最新)

“iphone怎么录屏呀,有人知道吗?用了很久的iphone12了,却不知道录屏功能在哪里,现在需要用来录教程,找也找不到,有人知道iphone录屏在哪里吗?很急!” iphone作为一款备受欢迎的智能…

春秋云镜 CVE-2019-16692

春秋云镜 CVE-2019-16692 phpIPAM 1.4 - SQL Injection 靶标介绍 phpIPAM 1.4后台存在SQL Injection。 启动场景 漏洞利用 后台SQL注入,admin/admin888登陆成功。 exp POST /app/admin/routing/edit-bgp-mapping-search.php HTTP/1.1 Host: xxx.com Content-Le…

寻找重复数-快慢指针

给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…

selenium中处理验证码问题

验证码 基本作用:可以实现当前访问页面的数据安全性、还可以减少用户的并发数; 类型:1、纯数字、纯字母;2、汉字组合;3、数学运算题;4、滑动;5、图片(选不同的、选相同、成语顺序&…

学Python静不下来,看了一堆资料还是很迷茫是为什么

一、前言 最近发现,身边很多的小伙伴学Python都会遇到一个问题,就是资料也看了很多,也花了很多时间去学习但还是很迷茫,时间长了又发现之前学的知识点很多都忘了,都萌生出了想半路放弃的想法。 让我们看看蚂蚁金服的大…

ubuntu查看网速

使用speedomster测试网速 sudo apt-get install speedometer 查询需要测速的网卡 speedometer -r ens33 -t ens33 -r: 指定网卡的接收速度 -t: 指定网卡的发送速度 使用nload测试 sudo apt-get install nload 测速 nload -t 200 -i 1024 -o 128 -U M 参数含义&#xff0…