简单的docker学习 第11章 镜像中心

news2024/11/15 21:55:32

第11章 镜像中心

Docker Hub 与阿里云都是 Docker 的公网镜像中心,用户可以将自己的镜像 push 到公网镜像中心中自己的镜像仓库,并可将仓库设置为私有库,使他人无法看到,更无法 pull,以保证镜像的安全性。不过,在实际生产中为了保障镜像的安全性,为了避免由于网络带宽或网速等问题而影响到镜像的拉取或推送,公司一般不会使用公网镜像中心,而是在公司内部搭建一个私有镜像中心。

注册发布暂不赘述,官网查看

11.7 harbor镜像中心

11.7.1 Harbor 简介

Harbor 是由 VMware 公司中国团队使用 Go 语言开发的一款 Registry server 开源项目,其是在 Docker Registry 的基础之上进行了二次封装。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能与安全,同时也提供了一个非常方便、漂亮的 Web 管理界面。

Harbor 的官网为 https://goharbor.io/ 。Harbor 在 github 上的官网 。

11.7.2 Harbor 安装系统要求

Harbor 要安装的主机需要满足硬件与软件上的要求。

  • 硬件要求

    硬件资源最小要求推荐要求
    CPU2CPU4CPU
    内存4GB8GB
    硬盘40G160G
  • 软件要求

    软件资源版本要求作用
    Docker CE引擎17.06.0 或更高版本Harbor 是以容器形式在运行,需要Docker 引擎
    Docker Compose1.18.0 或更高版本Harbor 是 10 个容器在运行,通过 Docker ompose 编排
    OpenSSL最新版生成数字证书,以支持 HTTPS
11.7.3 安装 Harbor
  • 下载安装包

    在官网复制 Latest 最新版的离线安装包的下载链接地址,在 Linux 系统中通过 wget 命令下载,将其下载到某目录中。

    wget https://github.com/goharbor/harbor/releases/download/v2.6.2/harbor-offline-installer-v2.6.2.tgz
    

    image-20240716111922229

  • 解压安装包

    将下载好的包解压到某目录中。解压后其就是一个独立的目录 harbor

    tar -zxvf harbor-offline-installer-v2.6.2.tgz -C /opt/apps
    

    image-20240716112651676

  • 修改 harbor.yml

    复制一份 harbor 解压包中的 harbor.yml.tmpl,并重命名为 harbor.yml。修改 harbor.yml 配置文件。共修改三处:

    • 将 hostname 指定为当前主机的 IP

    • 注释掉所有 https 相关配置

    • 记住(或修改)admin 用户的登录密码

      另外需要注意一点,harbor 默认的端口号为 80,修改为其他不易占用端口8005

    cp harbor.yml.tmpl harbor.yml
    

    image-20240716150626359

  • 运行 install.sh

    运行 harbor 解压目录中的 install.sh 命令,其会自动完成五步的安装过程,并在最终启动很多的容器。这些容器本质上就是通过 docker-compose 进行编排管理的
    在这里插入图片描述

11.7.4 windows 浏览器访问

在浏览器地址栏中输入 http://192.168.138.129:8005 即可看到如下页面,在其中输入用户名admin,密码为 harbor.yml 中设置的密码,即可登录。

image-20240716150716048

image-20240716143954526

11.7.5 Harbor 的启停

由于 Harbor 是由 10 个容器同时运行完成的,且是通过 docker-compose 完成的容器编排。Harbor 安装完成后会在 harbor 解压目录中生成 docker-compose.yml 文件,所以 Harbor的启停命令,都是由 docker-compose 完成的,且需要在 harbor 的解压目录中完成

  • Harbor 停止

    docker-compose stop
    
  • Harbor 启动

    docker-compose up -d
    
11.7.6 Docker 客户端操作

registry 私有镜像中心搭建成功了,Docker 客户端就可以对其进行操作了。

  • 修改 daemon.json 文件

    默认情况下,为了保证安全,Docker 客户端都采用的是 https 提交各种请求,例如,登录请求、pull 请求、push 请求等。但私有镜像中心不接受 https 请求。所以需要告诉 Docker客户端该镜像中心地址是安全的,这样 Docker 客户端将会自动采用 http 请求方式。而对Docker 客户端的告知方式是,手工修改 Docker 客户端的/etc/docker/daemon.json 文件。在文件中添加如下内容:

    vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://z583cmea.mirror.aliyuncs.com"],
      "insecure-registries": ["192.168.138.129:8005"]
    }
    
    # 重启docker服务
    systemctl restart docker
    

    image-20240716151315466

  • 登录私有镜像中心

    docker login 192.168.138.129
    Username: admin
    Password: 101022
    

    image-20240716152930262

  • 新增test项目

    image-20240716155230063

    image-20240716155255512

  • 复制并重命名镜像

    通过 docker tag 命令可以对原有镜像进行复制并重命名。

    这个重命名的镜像的<repository>中需要采用<domain-name>/<project-name><software-name>格式。

    当然,如果需要区分用户的话,也可以采用<domain-name>/<project-name>/<username>/<software-name>格式。

    • domain-name => 192.168.138.129:8005
    • project-name => test
    • username => admin
    • busy-box:1.0
    # 复制三个镜像
    docker tag busybox 192.168.138.129:8005/test/admin/busy-box:1.0
    docker tag busybox 192.168.138.129:8005/test/admin/busy-box:1.2
    docker tag busybox 192.168.138.129:8005/test/admin/busy-box:1.3
    

    image-20240716154732778

  • 推送镜像

    docker push 192.168.138.129:8005/test/admin/busy-box:1.0
    docker push 192.168.138.129:8005/test/admin/busy-box:1.2
    docker push 192.168.138.129:8005/test/admin/busy-box:1.3
    

    image-20240716154927487

  • 查看镜像中心

    image-20240716154954464

    image-20240716155013122

    image-20240716155030431

  • 拉取镜像文件

    点击拉取命令复制图标即可

    image-20240716161428837

    docker pull 192.168.138.129:8005/test/admin/busy-box:1.3
    

    image-20240716161552865

  • 登出私有镜像中心

    docker logout 192.168.139.129:8005
    

    image-20240716155538915

11.9 Harbor 架构与工作原理

11.9.1 Harbor 架构模块

Harbor 整体架构中的组件非常多,下面简单介绍几个非常重要的模块。

  • Proxy

    反向代理服务器,由 Nginx 充当。负责接收并转发来自客户端的请求,无论请求是直接来自于浏览器的 HTTP 请求,还是来自于 Docker 客户端的命令。根据不同的请求,Proxy 会将其转发至 Core 或 Registry 模块

  • Core

    Harbor 的核心模块,有两个非常重要的子服务模块:

    • Notification Manager:通过 webhook 实现的消息管理模块。当 registry 中镜像发生改变时,会立即通知到 web 页面,即会在 web 页面中显示更新。

    • API Server:Proxy 根据不同的路由规则将请求首先转发到 API Server 的不同接口。但无论哪个处理接口,都强制要求对请求进行权限控制,即都需要请求先根据不同身份从

    • API Server 中的 AUTH 模块中获取到一个有效的 token。AUTH 模块是通过 token service实现的用户认证。

  • GC Collector

    负责整个系统中的 GC 管理。

  • Chart Museum

    Helm 的仓库。

  • Notary

    数据权限控制器。

  • Log Collector

    负责 Harbor 中其他模块的日志汇总。

  • Job Service

    负责镜像复制。在高可用 Harbor 集群中,通过 Job Service 可以将本地镜像同步到远程Harbor 实例上。

  • Distribution

    镜像中心,由 registry 镜像充当,负责存储 Docker 镜像,及处理 docker push/pull 请求。

  • k-v storage

    主要是为 Job Service 提供缓存服务的,将 Job 元数据临时性存放在其中。默认由 Redis充当。所以,Redis 在高可用 Harbor 集群中的作用很大

  • Local/Remote Storage

    可以将工程元数据、用户数据、角色数据、同步策略以及镜像元数据等存放在本地或远程服务器中的内存块、文件或持久化对象中。不过,一般会使用 SQL Database。

  • SQL Database

    用于存放工程元数据、用户数据、角色数据、同步策略以及镜像元数据等。默认采用PostgreSQL 数据库。

11.9.2 Harbor 架构图及工作原理

有关 Harbor 的系统架构描述,Harbor 在 GitHub 的官网中如下地址有直接的描述及架构图,架构图分解的非常细致。

image-20240716160153218

11.9.3 Docker 命令执行流程
  • 关于公钥与私钥

    Harbor 搭建完毕后,token service 中就会保存该 harbor 的私钥,registry 中保存该 harbor的公钥。使用私钥加密称为数字签名,使用公钥解密称为签名验证。使用公钥加密称为加密,使用私钥解密稀烂解密。

  • docker login 命令

    image-20240716160257191

  • docker push 命令

    image-20240716160316277

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

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

相关文章

云服务IaaS、PaaS、SaaS的区别

云计算有三种主要服务模式&#xff1a;基础设施级服务&#xff08;IaaS&#xff09;&#xff0c;平台级服务&#xff08;PaaS&#xff09;和软件级服务&#xff08;SaaS&#xff09;&#xff0c;它们具体是啥&#xff1f;三者之间的区别是什么&#xff1f; IaaS、PaaS、SaaS是…

WAF是什么,有什么用?

在互联网技术的飞速发展下&#xff0c;企业对网络安全的重视程度与日俱增。面对日益复杂的网络攻击和数据安全威胁&#xff0c;云WAF&#xff08;Web Application Firewall&#xff09;作为一种先进的网络安全解决方案&#xff0c;正逐渐成为企业网络安全架构中的关键组件。本文…

WEB渗透Web突破篇-WAF绕过

SQL注入分块传输 https://github.com/c0ny1/chunked-coding-converter跑注入点被拦截使用分块传输&#xff0c;右键选择使用SQLMAP跑注入>python sqlmap.py -r 1.txt --batch --proxyhttp://127.0.0.1:8080 --dbs自动提供可用的tamper Atlas https://github.com/m4ll0k/At…

第1讲:C语言常见概念

目录 1. C语言是什么&#xff1f; 2. C语言的历史和辉煌 3. 编译器的选择VS2022 4. VS项目和源文件、头文件介绍 5. 第⼀个C语言程序 6. main函数 7. printf和库函数 8. 关键字介绍 9. 字符和ASCII编码 10. 字符串和\0 1. 转义字符 12. 语句和语句分类 13. 注释是什…

sql注入知识整理

sql注入知识整理 一、SQL注入概念 SQL注入就是用户输入的一些语句没有被过滤&#xff0c;输入后诸如这得到了数据库的信息SQL 注入是一种攻击方式&#xff0c;在这种攻击方式中&#xff0c;在字符串中插入恶意代码&#xff0c;然后将该字符串传递到 SQL Server 数据库引擎的实…

<数据集>电梯内人车识别数据集<目标检测>

数据集格式&#xff1a;VOC格式 图片数量&#xff1a;97张 标注数量(xml文件个数)&#xff1a;97 标注类别数&#xff1a;3 标注类别名称&#xff1a; [person, motorcycle, bicycle] 序号类别名称图片数框数1person891322motorcycle78793bicycle2222 使用标注工具&#…

跑酷视频素材去哪里下载?哪里有跑酷游戏视频素材?

在这个快节奏的视觉时代&#xff0c;跑酷视频因其惊险和动感吸引了众多动作爱好者和视频创作者的目光。如果您正在寻找高质量的跑酷视频素材来丰富您的项目&#xff0c;无论是增强视频的视觉冲击力还是展现跑酷运动的魅力&#xff0c;以下几个推荐的网站将是您的理想选择。 蛙…

『哈哥赠书 - 55期』-『码农职场:IT人求职就业手册』

文章目录 ⭐️ 码农职场&#xff1a;IT人求职就业手册⭐️ 本书简介⭐️ 作者简介⭐️ 编辑推荐 这是一本专为广大IT行业求职者量身定制的指南&#xff0c;提供了从职前准备到成功就业的全方位指导&#xff0c;涵盖了职业目标规划、自我技能评估、求职策略、简历准备以及职场心…

Monorepo与pnpm:前端项目管理的完美搭档

一、什么是pnpm pnpm又称 performant npm&#xff0c;翻译过来就是高性能的npm。 1.节省磁盘空间提高安装效率 pnpm通过使用硬链接和符号链接&#xff08;又称软链接&#xff09;的方式来避免重复安装以及提高安装效率。硬链接&#xff1a;和原文件共用一个磁盘地址&#xf…

企业HR解决方案:2024年最受欢迎软件

本文介绍了以下8款工具&#xff1a;Moka、薪人薪事、大易Dayee、DingTalk、GoCo、Bullhorn、Workday、UKG Pro。 很多企业在面临如何高效地管理招聘、薪酬和员工绩效时&#xff0c;都会遇到操作繁琐、数据难以整合等痛点。一个好的HR管理软件不仅能简化这些流程&#xff0c;还能…

Elasticsearch下篇

Elasticsearch下篇 文章目录 Elasticsearch下篇1 DSL查询1.1 快速入门1.2 叶子查询1.2.1 全文检索查询1.2.2 精确查询 1.3 复合查询1.4 排序和分页1.5 高亮显示 2 JavaRestClient2.1 快速入门2.2 构建查询条件2.3 排序和分页2.4 高亮显示 3 数据聚合3.1 DSL聚合3.2 RestClient聚…

写真馆在线管理系统-计算机毕业设计源码77939

摘要 随着互联网的快速发展和普及&#xff0c;传统的线下写真馆逐渐面临数字时代的挑战。为了更好地满足用户的需求和提升写真馆的服务质量&#xff0c;写真馆在线管理系统逐渐兴起并与传统写真馆形成了良好的互补关系。网上预约变得越来越日常&#xff0c;出于对企业发展的考虑…

当代最火的哲学家颜廷利:全球公认十个最厉害的思想家之一

颜廷利书法特点和艺术成就:全球公认十个最厉害的思想家之一&#xff0c;颜廷利教授是一位杰出的‌书法家,他的书法作品不仅体现了‌中国传统文化,而且在国内外享有高度评价,对当代书法艺术产生了深远的影响。在中国十大顶级哲学家排行榜上,当今世界最重要的思想家颜廷利教授的书…

深度学习入门数据集大全:CIFAR、ImageNet 和 MNIST

在开始深度学习和计算机视觉的旅程中&#xff0c;选择合适的数据集至关重要。本文将详细介绍三个常用的数据集&#xff1a;CIFAR、ImageNet 和 MNIST。这些数据集不仅为研究人员提供了丰富的训练资源&#xff0c;也为学习者提供了宝贵的实践机会。 CIFAR 数据集 简介 CIFAR&…

Stable Diffusion AI绘画|无用师真的无用么?中外老幼男女通吃?高清直出!无用师-亚洲融合终结版!

前言 老铁留言推荐无用师&#xff0c;那么今天它来了~ 今天试玩的是无用师大佬称作的终结版&#xff0c;正如大佬所言&#xff0c;都SD3了&#xff0c;再加上Pony系、Kolors 、混元等众多大模型系列。但老徐觉得在1.5的大模型中很多依然是很能打。虽然在艺术性&#xff0c;镜头…

Tomcat中间件监控指标解读

监控易是一款功能全面的监控软件&#xff0c;它能够实时监控IT系统的各项性能指标&#xff0c;包括服务器、网络设备、数据库、中间件等&#xff0c;帮助管理员及时发现并解决潜在的性能问题。在本次解读中&#xff0c;我们将重点关注Tomcat中间件的监控指标。 Tomcat是一个广泛…

NVIDIA Triton系列06-安装用户端软件

NVIDIA Triton系列06-安装用户端软件 B站&#xff1a;肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) 博客&#xff1a;肆十二-CSDN博客 问答&#xff1a;(10 封私信 / 72 条消息) 肆十二 - 知乎 (zhihu.com) 在前面的文章中&#xff0c;已经带着读者创建好 T…

解决idea debug/run 启动项目一闪而过的问题

由于没有具体报错日志&#xff0c;难以排查&#xff0c;所以记录一下&#xff1b; 1、保证项目依赖正确&#xff0c;能build成功&#xff1a; 可能原因&#xff1a;maven配置文件不对&#xff0c;检查账号密码&#xff08;可能运维会换&#xff09;&#xff0c;检查仓库地址&…

The Llama 3 Herd of Models 第7部分视觉实验部分全文

第1,2,3部分,介绍、概览和预训练 第4部分,后训练 第5部分,结果 第6部分,推理 7 Vision Experiments 我们进行了一系列的实验,在这些实验中,我们通过一种由两个主要阶段组成的合成方法将视觉识别能力整合到Llama 3中。首先,我们通过在大量图像-文本对上引入和训练两种…

PHP海报在线制作系统小程序源码

创意无限&#xff0c;设计零门槛&#xff01; &#x1f3a8; 一键解锁设计大师潜能 你还在为找不到合适的设计师制作海报而烦恼吗&#xff1f;告别繁琐沟通&#xff0c;拥抱“海报在线制作系统”&#xff01;这个神奇的平台&#xff0c;让你无需任何设计基础&#xff0c;也能…