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 port
  port: 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界面进行查看

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中国休闲装行业深度调研分析

环洋咨询Global Info Research的休闲装市场调研报告提供休闲装市场的基本概况,包括定义,分类,应用和产业链结构,同时还讨论发展政策和计划以及制造流程和成本结构,分析休闲装市场的发展现状与未来市场趋势,…

java入门-变量与常量

java 基本语法-变量与常量 变量 变量的本质 程序中我们会经常看到类似 int x 3**;** 的表达式,x就是我们常说的变量,从计算机角度我们来看看变量x的本质是什么? 在程序开发中定义一个变量x, 计算机会在内存中开辟内存空间,计算…

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

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

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

MasterAlign视觉对位软件提示系统校准时间错误解决方案

MasterAlign视觉对位软件提示系统校准时间错误解决方案 一、问题现象 当运行软件时弹出“系统校准时间错误”的提示,如下图: 出现“系统校准时间错误”提示,说明当前系统时间比上一次软件运行时的系统时间提前了,需要修改当前系…

Windows系统搭建web网站并结合内网穿透实现公网访问本地站点

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

苹果MacOS电脑使用内网穿透轻松远程桌面本地Windows系统电脑

文章目录 1. 测试本地局域网内远程控制1.1 Windows打开远程桌面1.2 局域网远程控制windows 2. 测试Mac公网远程控制windows2.1 在windows电脑上安装cpolar2.2 Mac公网远程windows 3. 配置公网固定TCP地址 日常工作生活中,有时候会涉及到不同设备不同操作系统之间需要…

JetBrains全家桶激活,分享PyCharm 2024 激活的方案

大家好,欢迎来到金榜探云手! PyCharm 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

RP2040 VSCode C/C++开发环境快速部署

RP2040 VSCode C/C开发环境快速部署 📌安装参考《树莓派(Raspberry Pi) Pico VSCode C/C开发环境配置(无需Visual Studio)》📍Windows环境下 MSYS2一键式部署pico程序包,下载地址:https://github.com/raspberrypi/pico-setup-wind…

简单使用NSIS打包软件

NSIS是一个开源的打包工具. 官网: Download - NSIS (sourceforge.io) 使用这个编译 ​ 但是不建议使用这玩意写脚本,字体太难看了.我用vscode写的脚本,用这个编译的. ​ 写好脚本用这个软件打开, 然后选择这个编译,如果语法有错误 会编译不过,会提醒你哪一行不行,如果编译…

探讨NLP对行业大量数据信息抽取的技术实现

在本文中,为了实现高效的信息抽取,我们采用了一个自主研发的多模态AI的大模型NLP平台。 这个平台的使用过程分为以下几个步骤: 数据收集:我们收集了与项目相关的100条数据样本,这些样本涵盖了各种商品描述&#xff0c…

一口气看完明朝276年历史

明朝是中国历史上最后一个由汉人建立的大一统封建王朝,建立于公元1368年,亡于公元1644年,国祚276年,传12世16帝。 太祖建国 太祖(1368~1398) 公元1368年,朱元璋在南京应天府建元称帝&#xff…

多行业预约小程序源码系统:单多门店一键切换 带完整的安装教程以及安装代码包

在当今数字化时代,小程序以其便捷、高效的特点,成为企业连接用户、提升服务体验的重要工具。下面,罗峰给大家分享一款多行业预约小程序源码系统,该系统支持单多门店一键切换,并附带完整的安装教程及安装代码包&#xf…

【日本語】N2考试湖北报名笔记

阅读资料 视频:JLPT报名技巧 使用浏览器调试模式快速报名; 1 报名流程 【考场选择】 1.1 春季报名:03-19 07:00:00 1.2 预习网站登录信息 1.3 登录验证码:06:55 (图片来自视频《教日语的阿飞老师 - 担心能力考抢…

QY-02-W2 无线雨量监测站 防洪防汛 大坝水库雨水情实时监测

无线雨量监测站配置: 不锈钢支架、雨量传感器、太阳能板、数据采集发送器。 产品概述 无线雨量监测站是一款无线传输数据的雨量监测设备,由不锈钢支架、ABS雨量筒、不锈钢防护箱、主机采集器、无线数据发送装置、太阳能电池板、蓄电池等构成&#xff0c…

CSS基础笔记

第一课 CSS&#xff08;层叠式样式表&#xff09;&#xff1b;样式规则由 选择器、 属性 以及 属性值 组成 内联样式表、内嵌样式表、外部样式表 内联样式表 写在标签里 用 style 属性进行表示&#xff0c;优先级比 内嵌 和 外部 高 <h1 style"color: blue; text-…

java8:LinkedList的实现原理

概述 先来看看源码中的这一段注释&#xff0c;我们先尝试从中提取一些信息&#xff1a; Doubly-linked list implementation of the List and Deque interfaces. Implements all optional list operations, and permits all elements (including null).All of the operations …

ubuntu下摩尔线程s80配置ai绘图环境

首先我的桌面是gdm,然后安装github上的sdk&#xff0c;重启进不去桌面了 解决方法&#xff1a; 开机以后选ubuntu的高级选项&#xff0c;换旧一点的linux内核&#xff0c;然后卡在进程上&#xff0c;ctrlaltf2斤tty sudo apt remove musa 卸载完驱动就可以进系统了

Java SE 认识异常 (Java SE完结篇)

1. 异常的概念与体系结构 1.1 异常的概念 在我们的生活中,一个人如果表情痛苦,我们可能会问: 你是生病了吗? 需要我陪你去看医生吗? 程序也和人是一样的,均会发生一些"生病"的行为,比如: 数据格式不对, 数组越界,网络中断等, 我们把这种程序出现的"生病&qu…

ASO优化:App在App Store的权重影响因素

1.App的标题描述 App的标题、描述是能引导用户下载的重要部分&#xff0c;此处关键词占比的权重是最大的。比如说爱奇艺&#xff0c;最近主推的就是由任嘉伦、刑菲主演的《烈焰》。它就把主推的内容放在副标题处&#xff0c;获得很大的曝光量&#xff0c;娱乐榜直接排第一名了…