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.mzph.cn/news/752981.shtml

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

相关文章

山景BP1048 升级狗烧写

1.打开MVAssistant_BP10xx工具,在芯片型号栏中选择B1X系列。 2.模式选择 选 M2.仅升级Flash SH(可选) 3 .Code数据选择SDK编译好的bin文件 4.const数据选择编译好的提示音bin文件。 5.点击升级狗下载。 6. 如下图所示,出现提示为正在给升级狗正在下载程…

git pull 报错: 在签出前,请清理存储库工作树

问题: 使用vscode 用git 拉取代码,提示:在签出前,请清理存储库工作树** 原因: git仓库上的代码和本地代码存在冲突了所以会报这个报错。 解决办法: ①git stash 先将本地修改存储起来 ②git pull 拉取远…

创新应用2:nnmf+DBO+K-Medoids聚类,蜣螂优化算法DBO优化K-Medoids,适合学习和发paper。

创新应用2:nnmfDBOK-Medoids聚类,蜣螂优化算法DBO优化K-Medoids,适合学习和发paper。 一、蜣螂优化算法 摘要:受蜣螂滚球、跳舞、觅食、偷窃和繁殖等行为的启发,提出了一种新的基于种群的优化算法(Dung Beetle Optim…

多个图片怎么变成一张动图?一个方法在线操作

如何将图片变成gif动画?gif动图文件体积、画面丰富兼容性也比较高。通过多张静图就能够制作一张gif动画,能够自己制作生动有趣的gif动态图片能更好的传达信息。只需要使用在线图片合成(https://www.gif.cn/)工具,上传j…

【C语言基础】:字符函数和字符串函数

文章目录 一、字符函数1. 字符分类函数2. 字符转化函数 二、字符串函数1. strlen函数的使用和模拟实现strlen函数的使用strlen函数的模拟实现 2. strcpy函数的使用和模拟实现strcpy函数的使用strcpy函数的模拟实现 3. strcat函数的使用和模拟实现strcat函数的使用strcat函数的模…

el-table树形数据序号排序处理

1&#xff0c;用下面这个代码可以实现基本表格的序号排序 <el-table-column label"序号" width"50px" align"center"><template slot-scope"scope">{{ scope.$index 1 }}</template></el-table-column>2&…

【LeetCode热题100】104. 二叉树的最大深度(二叉树)

一.题目要求 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二.题目难度 简单 三.输入样例 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&am…

训练数据集(一):真实场景下采集的煤矸石目标检测数据集,可直接用于YOLOv5/v6/v7/v8训练

文章目录 数据集介绍数据集训练精度展示数据集获取方式 数据集介绍 煤矸石训练数据集&#xff1a;891张&#xff1b;验证数据数据集&#xff1a;404张 数据集类别&#xff1a;0代表煤炭&#xff08;coal&#xff09;&#xff0c;1代表矸石&#xff08;gangue&#xff09;&…

Git reset命令后如何恢复到最新版本

文章目录 Git reset命令后如何恢复到最新版本使用git reflog命令使用git checkout命令 总结 Git reset命令后如何恢复到最新版本 Git reset命令后&#xff0c;可以使用以下两种方法恢复到最新版本&#xff1a; 使用git reflog命令 git reflog该命令可以查看所有Git操作的记录…

【C语言】比较两个字符串大小,strcmp函数

目录 一&#xff0c;strcmp函数 1&#xff0c;strcmp函数 2&#xff0c;函数头文件&#xff1a; 3&#xff0c;函数原型&#xff1a; 4&#xff0c;返回取值&#xff1a; 二&#xff0c;代码实现 三&#xff0c;小结 一&#xff0c;strcmp函数 1&#xff0c;strcmp函数 …

docxTemplater——从word模板生成docx文件

官网文档&#xff1a;Get Started (Browser) | docxtemplater 官网在线演示&#xff1a;Demo of Docxtemplater with all modules active | docxtemplater 源码&#xff1a;https://github.com/open-xml-templating/docxtemplater 不仅可以处理word&#xff08;免费&#xf…

【ArcGIS 脚本工具】强制移动要素类,绕过空间参考不一致

作为一个合格的数据管家&#xff0c;自然要让自己的数据库井井有条。 于是想着整理一下数据库里面的七零八落的要素类&#xff0c;按 数据库-要素数据集-要素类 的方式整理。 但是将要素类移动到要素数据集内的时候经常会出现下面的报错。 这大概率是因为要素类的坐标系与目标…

使用ChatGPT高效完成简历制作[中篇2]-有爱AI实战教程(九)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、导读&#xff1a; 在使用 ChatGPT 时&#xff0c;当你给的指令越精确&#xff0c;它的回答会越到位&#xff0c;举例来说&#xff0c;假如你要请它帮忙写文案&#xff0c…

0301taildir-source报错-flume-大数据

1 基础环境简介 linux系统&#xff1a;centos&#xff0c;前置安装&#xff1a;jdk、hadoop、zookeeper、kafka&#xff0c;版本如下 软件版本描述centos7linux系统发行版jdk1.8java开发工具集hadoop2.10.0大数据生态基础组件zookeeper3.5.7分布式应用程序协调服务kafka3.0分…

【Docker】使用Docker部署IT运维管理平台CAT

作者怀揣着一个美好的愿景&#xff0c;旨在提升管理效率、推动开源项目的蓬勃发展。 来一杯咖啡与茶&#xff0c;为 IT 运维从业者减轻管理负担&#xff0c;提升管理效率&#xff0c;从繁重无序的工作中解压出来&#xff0c;利用剩余时间多喝一杯休息一下。 这是一个专为 IT 运…

windows安装prometheus和grafana

prometheus官网 grafana 软件下载 prometheus windows_exporter https://github.com/prometheus-community/windows_exporter grafana prometheus原理 配置prometheus 解压之后prometheus-2.50.1.windows-amd64.zip修改prometheus.yml localhost修改为127.0.0.1 双击p…

爬虫神器!使用Python一键下载网页图片,省时高效!

引言 爬虫技术在当今信息时代中扮演着重要的角色&#xff0c;可以自动化获取互联网上的数据。本教程将围绕你提供的Python爬虫代码展开&#xff0c;旨在实现自动下载图片的功能。通过这个示例&#xff0c;你将学习如何利用爬虫技术批量获取网页中的图片&#xff0c;并将其保存…

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

目录&#xff1a; 1. HoughCircles二级目录三级目录 1. HoughCircles 霍夫圆检测 二级目录 三级目录

Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Python轴承故障诊断 (一)短时傅里叶变换STFT Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客 Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 …

docker 安装minio,详细图解

废话不多说&#xff0c;直接上干货 docker 安装minio 拉取镜像 docker pull minio/minio创建数据目录、配置目录 mkdir /opt/minio/data mkdir /opt/minio/config启动容器 docker run -p 9000:9000 -p 9090:9090 \--name minio \-d --restartalways \-e "MINIO_ACCESS_KE…