Docker学习之使用harbor搭建私有仓库(超详解析)

实验目的:

使用centos7,基于harbor构建私有仓库

实验步骤:

下载相关安装包和依赖:

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 wget //安装docker所需要的相关依赖
[root@localhost ~]# wget -O /etc/yum.repos.d/docker-ce.repo
https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo  //根据版本不同,下载repo文件
[root@localhost ~]# yum install docker-ce  //安装docker-ce
[root@localhost ~]# yum list | grep ^docker-  //查看是否有docker-compose,未发现相应版本
[root@localhost ~]# wget -c https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 //从github上下载docker-compose,如果github下载速度太慢,可以使用迅雷或网盘等相应下载工具进行下载
关于harbor的下载:https://github.com/goharbor/harbor/releases //与docker-compose类似,在github上选择相应版本(本次实验所用版本为2.8.4版本)进行下载

对harbor安装时相关配置:

[root@localhost ~]# ls //查看docker-compose和harbor是否存在
anaconda-ks.cfg
docker-compose-linux-x86_64
harbor-offline-installer-v2.8.4.tgz
[root@localhost ~]# mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose //先将docker-compose移动至//usr/local/bin/docker-compose路径下
[root@localhost ~]# ll /usr/local/bin/docker-compose //查看docker-compose权限
-rw-r--r--. 1 root root 61431093 3月  17 14:14 /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose  //给docker-compose赋予相应权限
[root@localhost ~]# docker-compose version  //查看docker-compose版本信息
Docker Compose version v2.24.6
[root@localhost ~]# tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local/  //使用tar将harbor解压缩至/usr/local/路径下
[root@localhost ~]# cd /usr/local/harbor/  //切换到该目录
[root@localhost harbor]# ls  //查看该路径下的文件信息
common.sh             harbor.yml.tmpl  LICENSE
harbor.v2.8.4.tar.gz  install.sh       prepare
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml  //将harbor.yml.tmpl拷贝信息为harbor.yml
[root@localhost harbor]# vim harbor.yml  //进入harbor.yml修改配置文件
hostname: reg.openlab.cn//更改hostname# http related config
http:# port for http, default is 80. If https enabled, this port will redirect to https portport: 80  //http不做修改# https related config
#https:# https port for harbor, default is 443# port: 443# The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path  //对https的相关内容进行注释harbor_admin_password: 123456 //修改了登陆harbor时的密码
[root@localhost harbor]# systemctl start docker  //启动docker服务
[root@localhost harbor]# ./install.sh //使用install.sh进行下载
[Step 5]: starting Harbor ...
[+] Running 9/10⠙ Network harbor_harbor        Created           2.1s ✔ Container harbor-log         Started           0.4s ✔ Container registryctl        Started           1.0s ✔ Container harbor-portal      Started           0.9s ✔ Container registry           Started           0.8s ✔ Container redis              Started           1.1s ✔ Container harbor-db          Started           0.9s ✔ Container harbor-core        Started           1.4s ✔ Container nginx              Started           1.8s ✔ Container harbor-jobservice  Started           1.8s 
✔ ----Harbor has been installed and started successfully.----
[root@localhost harbor]# docker-compose ps  //查看状态信息
NAME                IMAGE                                COMMAND                   SERVICE       CREATED              STATUS                        PORTS
harbor-core         goharbor/harbor-core:v2.8.4          "/harbor/entrypoint.…"   core          About a minute ago   Up About a minute (healthy)   
harbor-db           goharbor/harbor-db:v2.8.4            "/docker-entrypoint.…"   postgresql    About a minute ago   Up About a minute (healthy)   
harbor-jobservice   goharbor/harbor-jobservice:v2.8.4    "/harbor/entrypoint.…"   jobservice    About a minute ago   Up About a minute (healthy)   
harbor-log          goharbor/harbor-log:v2.8.4           "/bin/sh -c /usr/loc…"   log           About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal       goharbor/harbor-portal:v2.8.4        "nginx -g 'daemon of…"   portal        About a minute ago   Up About a minute (healthy)   
nginx               goharbor/nginx-photon:v2.8.4         "nginx -g 'daemon of…"   proxy         About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp
redis               goharbor/redis-photon:v2.8.4         "redis-server /etc/r…"   redis         About a minute ago   Up About a minute (healthy)   
registry            goharbor/registry-photon:v2.8.4      "/home/harbor/entryp…"   registry      About a minute ago   Up About a minute (healthy)   
registryctl         goharbor/harbor-registryctl:v2.8.4   "/home/harbor/start.…"   registryctl   About a minute ago   Up About a minute (healthy) 

使用虚拟机ip进行验证:

登陆后页面如下:

可以点击新建项目:

可以对用户进行管理(将新创建的用户以维护人员身份添加到项目组中):

尝试相关推送命令:

[root@localhost ~]# docker images  //查看本地镜像信息
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              beae173ccac6        2 years ago         1.24MB
myubuntu            18.04               5a214d77f5d7        2 years ago         63.1MB
[root@localhost ~]# vim /etc/docker/daemon.json  //进入daemon.json进行添加
{"registry-mirrors": ["https://lpk5rspy.mirror.aliyuncs.com"],"insecure-registries":["reg.openlab.cn"]  //添加行
}
[root@localhost ~]# vim /etc/hosts  //进入/etc/hosts进行添加
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.27.146  reg.openlab.cn  //添加行
[root@localhost ~]# systemctl daemon-reload  //重新加载本地daemon
[root@localhost ~]# systemctl restart docker  //重新启动docker
[root@localhost ~]# docker login reg.openlab.cn  //命令行模式登录reg.openlab.cn
Username: tom
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
[root@localhost ~]# docker tag busybox:latest reg.openlab.cn/openlab/busybox:v1 //在项目中标记镜像
[root@localhost ~]# docker push reg.openlab.cn/openlab/busybox  //推送镜像到当前项目
The push refers to repository [reg.openlab.cn/openlab/busybox]
01fd6df81c8e: Pushed 
v1: digest: sha256:62ffc2ed7554e4c6d360bce40bbcf196573dd27c4ce080641a2c59867e732dee size: 527
进入web界面进行查看

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

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

相关文章

[ThinkPHP]Arr返回1

$detailId (int)Arr::get($detail, null); var_dump($detailId); 打印结果:int(1) 原因: vendor/topthink/think-helper/src/helper/Arr.php

如何定期清理数据库中的无效数据?

企业的数据库在运行相当长一段时间后,都会出现无效数据的堆积,这些数据包含了过时、重复、错误、缺失(空字段)的数据,长期占据着宝贵的数据库空间。而在上云热潮的推动下,绝大多数企业已经将他们的业务数据…

Linux第77步_处理Linux并发的相关函数

了解linux中的“原子整形数据”操作、“原子位数据”操作、自旋锁、读写锁、顺序锁、信号量和互斥体,以及相关函数。 并发就是多个“用户”同时访问同一个共享资源。如:多个线程同时要求读写同一个EEPROM芯片,这个EEPROM就是共享资源&#x…

2024全网最全Excel函数与公式应用

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 引言 Excel是一款广泛应用于商业、教育和个人…

某夕夕商品数据抓取逆向之webpack扣取

逆向网址 aHR0cHM6Ly93d3cucGluZHVvZHVvLmNvbQ 逆向链接 aHR0cHM6Ly93d3cucGluZHVvZHVvLmNvbS9ob21lL2JveXNoaXJ0 逆向接口 aHR0cHM6Ly9hcGl2Mi5waW5kdW9kdW8uY29tL2FwaS9naW5kZXgvdGYvcXVlcnlfdGZfZ29vZHNfaW5mbw 逆向过程 请求方式:GET 参数构成 【anti_content】…

基于SSM SpringBoot vue办公自动化计划管理系统

基于SSM SpringBoot vue办公自动化计划管理系统 系统功能 登录注册 个人中心 员工信息管理 部门信息管理 会议管理 计划管理 行程安排管理 行程进度管理 管理员管理 开发环境和技术 开发语言:Java 使用框架: SSM(Spring SpringMVC Mybaits)或SpringBoot 前端…

【题目】【网络系统管理】2022年甘肃省职业院校技能大赛-网络构建-试卷

极安云科专注职业教育技能竞赛培训4年,包含信息安全管理与评估、网络系统管理、网络搭建等多个赛项及各大CTF模块培训学习服务。本团队基于赛项知识点,提供完整全面的系统性理论教学与技能培训,成立至今持续优化教学资源与讲师结构&#xff0…

vivo统一接入网关VUA转发性能优化实践

作者:vivo 互联网服务器团队 - Qiu Xiangcun 本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能。我们将介绍如何使用QAT通过硬件加速来提高HTTPS转发的性能,并探讨QAT在不同应用场景中的表现。最…

Python下有关CV的一些算法和函数

目录: 1. HoughCircles二级目录三级目录 1. HoughCircles 霍夫圆检测 二级目录 三级目录

【CKA模拟题】查询消耗CPU最多的Pod

题干 For this question, please set this context (In exam, diff cluster name) 对于此问题,请设置此上下文(在考试中,diff 集群名称) kubectl config use-context kubernetes-adminkubernetesFind the pod that consumes the …

[云原生] Prometheus自动服务发现部署

一、部署服务发现 1.1 基于文件的服务发现 基于文件的服务发现是仅仅略优于静态配置的服务发现方式,它不依赖于任何平台或第三方服务,因而也是最为简单和通用的实现方式。 Prometheus Server 会定期从文件中加载 Target 信息,文件可使用 YAM…

大模型训练准备工作

一、目录 1 大模型训练需要多少算力? 2. 大模型训练需要多少显存? 3. 大模型需要多少数据量训练? 4. 训练时间估计 5. epoch 选择经验 6. 浮点计算性能测试 二、实现 1 大模型训练需要多少算力? 训练总算力(Flops&…

逻辑运算函数

true默认为1 false默认为0 可以用于多条件筛选 if语句 多层嵌套

【C#算法实现】可见的山峰对数量

文章目录 前言一、题目要求二、算法设计及代码实现2.1 算法思想2.2 代码实现 前言 本文是【程序员代码面试指南(第二版)学习笔记】C#版算法实现系列之一,用C#实现了《程序员代码面试指南》(第二版)栈和队列中的可见的…

Redisson

Redisson 1 什么是Redisson2.SpringBoot整合Redisson3.使用Redisson实现分布式锁3.1 Redisson是如何解决这两个问题的呢?3.2 Redisson是怎么保证自己加的锁, 自己释放锁? 1 什么是Redisson Redisson是一个基于Redis的java框架, 用于简化Redis的操作. 它提供了丰富的功能, 包…

Python 界面逻辑分离示例

使用PyQt5设计UI界面开发桌面应用程序的小伙伴,刚开始可能都会遇到这样让人不爽的事:用Qt Designer好不容易设计好的界面并写好逻辑代码,已经可以正常运行了,某天发现界面要做个小改动(这种事好象永远都避不了),重新修…

MySQL8.0索引新特性

文章目录 1 支持降序索引2 隐藏索引 1 支持降序索引 举例:分别在MySQL 5.7版本和MySQL 8.0版本中创建数据表ts1,结果如下: CREATE TABLE ts1(a int,b int,index idx_a_b(a,b desc) );在MySQL 5.7版本中查看数据表ts1的结构,从结…

【SpringBoot】请求与响应参数 IoC与DI 总结

文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…

下载chromedrive,使用自动化

1、先看一下自己浏览器的版本 2、访问 https://googlechromelabs.github.io/chrome-for-testing/

QT中dumpcpp以及dumpdoc使用

qt中调用COM的方式方法有四种,参考解释在 Qt 中使用 ActiveX 控件和 COM (runebook.dev) 介绍dumpcpp的使用方法Qt - dumpcpp 工具 (ActiveQt) (runebook.dev): 在安装好了的qt电脑上,通过powershell窗口来实现,powershell比cmd要…