Linux企业应用——Docker(三)之史上最简单,一篇学会Docker私有仓库Harbor的搭建

news2024/11/28 21:51:58

文章目录

  • 一、什么是Harbor
  • 二、搭建私有仓库
    • 1.安装docker-ce
    • 2.安装软件库包
    • 3.创建认证
  • 三、在另一台==已安装docker==的主机上
  • 四、搭建Harbor
  • 测试

docker hub虽然方便,但是还是有限制:
• 需要internet连接,速度慢
• 所有人都可以访问
• 由于安全原因企业不允许将镜像放到外网
• 好消息是docker公司已经将registry开源,我们可以快速构建企业私有仓库

一、什么是Harbor

Harbor是一个开源的注册表,它通过策略和基于角色的访问控制来保护工件,确保图像被扫描,没有漏洞,并签署图像为可信。Harbor是CNCF的一个毕业项目,提供合规性、性能和互操作性,帮助你在Kubernetes和Docker等云原生计算平台上一致、安全地管理工件。
在这里插入图片描述

二、搭建私有仓库

1.安装docker-ce

详情见此文:Linux企业应用——Docker(一)之初步了解Docker以及Docker的安装

2.安装软件库包

yum install -y  openssl11-1.1.1k-2.el7.x86_64.rpm openssl11-libs-1.1.1k-2.el7.x86_64.rpm

3.创建认证

其中xuan.cn,DNS中的registry.xuan.cn替换为自己想要的地址

mkdir -p certs
openssl11 req -newkey rsa:4096 -nodes -sha256 -keyout certs/xuan.cn.key -addext "subjectAltName = DNS:registry.xuan.cn" -x509 -days 365 -out certs/xuan.cn.crt

其中Common Name (eg, your name or your server's hostname) []:registry.xuan.cn务必要和上方DNS解析中保持一致


[root@k8s2 ~]# openssl11 req -newkey rsa:4096 -nodes -sha256 -keyout certs/xuan.cn.key -addext "subjectAltName = DNS:registry.xuan.cn" -x509 -days 365 -out certs/xuan.cn.crt
Can't load /root/.rnd into RNG
140061807077184:error:2406F079:random number generator:RAND_load_file:Cannot open file:crypto/rand/randfile.c:98:Filename=/root/.rnd
Generating a RSA private key
.....................................................................................................++++
.............................................++++
writing new private key to 'certs/xuan.cn.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shaanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:xuanlucky
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:registry.xuan.cn
Email Address []:sss@123

添加解析

vim /etc/hosts
主机ip	域名
172.27.84.9 registry.xuan.cn

重建registry容器


[root@k8s2 ~]# docker run -d -v /opt/registry:/var/lib/registry -v /root/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/xuan.cn.crt -e REGISTRY_HTTP_TLS_KEY=/certs/xuan.cn.key -p 443:443 registry
f3b05c84b90e5f3a6e38bf90f2dc6028ea4139e0c5814aa45f0a86ca488cc282

4.创建目录,拷贝认证文件

mkdir -p /etc/docker/certs.d/registry.xuan.cn
cp /root/certs/xuan.cn.crt /etc/docker/certs.d/registry.xuan.cn/ca.crt

5.上传镜像

docker tag nginx:latest registry.xuan.cn/nginx:v1
docker push registry.xuan.cn/nginx:v1

三、在另一台已安装docker的主机上

1.添加解析

vim /etc/hosts
主机ip	域名
172.27.84.9 registry.xuan.cn

2.添加镜像私有仓库

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.xuan.cn"]
}

在这里插入图片描述3.重启docker,并查看

systemctl restart docker
docker info

在这里插入图片描述
4.创建目录,拷贝认证文件

mkdir -p /etc/docker/certs.d/registry.xuan.cn
scp 172.27.84.9:certs/xuan.cn.crt /etc/docker/certs.d/registry.xuan.cn/ca.crt

5.测试:
从仓库拉取镜像

docker pull registry.xuan.cn/nginx:v1

在这里插入图片描述

四、搭建Harbor

软件下载: https://github.com/goharbor/harbor/releases
依赖性: docker 17.06.0-ce+ and docker-compose 1.18.0+
为了方便起见
将xuan.cn.crt,xuan.cn.key移动至/data目录

mv /root/certs/* /data/certs

1.解压离线安装包

tar zxf harbor-offline-installer-v2.5.0.tgz

2.编辑harbor配置文件

cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
hostname: registry.xuan.cn
http:
   port: 80
https:
  port: 443
  certificate: /data/certs/xuan.cn.crt
  private_key: /data/certs/xuan.cn.key
harbor_admin_password: xuanlucky
database:
    password: xuanlucky

在这里插入图片描述3.docker-compose安装
Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

mv docker-compose-linux-x86_64-v2.5.0 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

4.执行安装

 ./install.sh

在这里插入图片描述在这里插入图片描述

测试

浏览器访问搭建的主机的ip地址,登录harbor
在这里插入图片描述在这里插入图片描述

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

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

相关文章

SharpShooter Reports.Web 7.5 Crack

SharpShooter Reports.Web 是真正的跨平台报告查看器,因为它能够向 Windows、Linux、Mac OS 甚至 iOS 和 Android 平板电脑和手机提供报告。创建的报告可以轻松集成到任何网站和网页中,包括 MS MVC 和 ASP.NET 应用程序。by Ω578867473报告设计方便易用…

22级第三次比赛题解

文章目录A (1). Ashy与几何(贪心几何)B (2). One eye question of hengheng(前缀和)C Fox hate oranges(模拟)D KingZhangs Similar pair (思维)E (5). 38秒你敢交我A题?F (6). How many numbers are thereG (7). Jump lattice (思维)H (8). CCoolGuang Conjecture(…

五十万字总结,2022最新Java面试八股汇总(含答案,收藏版)

写在前面 今年的疫情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今&a…

【网安神器篇】——瑞士军刀Netcat

作者名:Demo不是emo 主页面链接:主页传送门创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座右…

G1D5-Intriguing properties of neural networks

今天考完软考中项啦~~明天还有翻译,不过不想复习啦~ 读读论文啦~读网络安全文献课需要的叭 这篇2013年的intruging properties of neural networks的作者都好大佬!!! 先来看看h指数是什么哈~ 一、h指数 一个人的所有论文中&…

C语言题解 | 去重数组合并数组

… 🌳🌲🌱本文已收录至:C语言题解系列 更多知识尽在此专栏中! 文章目录🍉前言🍉正文🍍去重数组🍌分析🍌思路🍌代码🍍合并数组&#x1…

Allegro基本规则设置指导书之Physical规则设置

Allegro基本规则设置指导书之Physical规则设置 下面介绍规则设置指导书之Physical规则设置 点击Set-up-constraints-Constraint Manager打开规则管理器 设置Physical规则 打开时默认有个Default规则 从左往右 Line Width 最小线宽 最大线宽 Neck 最小线宽 Neck的走线长度 如…

动态内存分配:malloc、calloc、realloc(超详解析,多维度分析,小白一看就懂!!!!)

目录 一、前言 二、动态内存的简单介绍 🍉什么是动态内存分配 🍎为什么要使用动态内存分配 三、动态内存函数的介绍和拓展 🍋malloc()函数 🍊free()函数 🍌calloc()函数 🍇realloc()函数 四、…

UDP套接字编程详解

UDP 是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议。 UDP协议与TCP协议一样用于处理数据包。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之…

【状语从句练习题】综合训练

1. 改正错误 1.第二个 either 改为or 2.后面的 he plays 去掉,不必要的重复 3.but 去掉 4.cold 后 and 5.I went out. 加 个 I. 6.第一个 will 去掉,get 变为 ges 7.so 去掉 8.去掉第二个 either 9.去掉后面的 I need 10.Although/but 去掉一个 11.后…

【JavaSE】类和对象——上

文章目录1. 类的定义1.1 什么是类1.2 如何定义类2. 类的实例化3. this关键字3.1 this访问成员变量和成员方法3.2 构造方法及this()我们给类初始化的方法有:3.2.1 就地初始化3.2.2 使用 set 方法赋值3.2.3 使用构造方法4. 如何便捷的打印对象中属性1. 类的定义 1.1 什…

【Pytorch Lighting】第 1 章:PyTorch Lightning adventure

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

数据中心通识

文章目录一 数据中心定义特点二 机房定义内部物品物理环境三 服务器定义外型分类与PC相比的优点超线程技术固态硬盘和机械硬盘四 网络定义OSI模型局域网的拓扑结构TCP/IP协议常见端口号IP地址介绍、格式、分类、子网掩码DNS三层交换机五 存储格式化缓存RAID技术存储体系架构IP-…

二叉树的前中后序遍历(递归与迭代)

作者:~小明学编程 文章专栏:Java数据结构 格言:目之所及皆为回忆,心之所想皆为过往 目录 简介 前序遍历 递归法 迭代法 中序遍历 递归法 迭代法 后序遍历 递归法 迭代法 简介 前面学习二叉树的时候,已经学过…

渗透测试 | 域名信息收集

0x00 前言 信息收集可以说是在渗透测试中最重要的一部分,上文对 IP 信息收集做了一个简要的叙述,认识了 CDN 技术和网络空间搜索引擎。但是很多网站的主站因为访问流量过大的原因通常会使用 CDN 技术,同时也可以有效防止 DDOS 攻击。在域名信…

前端面经 强缓存与协商缓存

前端面经 强缓存与协商缓存 图片多来自第三方平台 文章目录前端面经 强缓存与协商缓存适用场合浏览器缓存的过程缓存规则强缓存(本地缓存)协商缓存缓存分为两种:强缓存和协商缓存,根据响应的header内容来决定 获取资源形式状态码…

【C++】二叉搜索树

前言 hi~大家好呀,欢迎点进我的C学习笔记~ 我的前一篇C笔记链接~ 【C】多态_柒海啦的博客-CSDN博客 本篇需要用到的基础二叉树C语言实现链接~ 用c语言实现一个简单的链表二叉树_柒海啦的博客-CSDN博客_c语言建立二叉树链表 我们知道,查找一个数据会有很多…

数据库基本操作

目录 数据库操作 创建数据库 查看数据库 选择数据库 删除数据库 注释 数据表操作 创建数据表 查看数据表 查看数据表 查看数据表的相关信息 修改数据表 修改数据表名称 修改表选项 查看表结构 查看数据表的字段信息 查看数据表的创建信息 查看数据表结构 修…

linux进程间通信之共享内存

目录 一,共享内存原理 二,创建共享内存 1,shmget创建共享内存 2,shmat挂接共享内存 3,shmdt取消挂接共享内存 4,shmctl删除共享内存 三,代码使用 1,com.hpp 2,ipc_client.c…

Allegro基本规则设置指导书之Physical Region

Allegro基本规则设置指导书之Physical Region 下面介绍基本规则设置指导书之Physical Region 空白的地方创建一个Region 给新建的Region匹配一个规则,所有区域里面的Physical相关的都按照Region的规则来 当部分网络想按照本身的规则来匹配,可以创建region-Class 然后匹配…