当前位置: 首页 > news >正文

docker私有仓库部署与管理

一、搭建本地公有仓库

  1.1 首先下载registry镜像

docker pull registry

  1.2 在daemon.json文件中添加私有镜像仓库地址并重新启动docker服务

vim /etc/docker/daemon.json

  1.3 运行registry容器

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always--name registry registry:latest

  1.4 下载centos镜像

docker run centos:7 /usr/bin/bash -c ls /

  1.5 为镜像打上标签并上传到仓库

docker tag centos:7 当前IP地址:5000/centos:v1

docker push 当前IP地址:5000/centos:v1

  1.6 列出私有仓库的所有镜像以及centos镜像有哪些tag

curl http://当前IP地址:5000/v2/_catalog

curl http://当前IP地址:5000/v2/centos/tags/list

  1.7 删除centos镜像

docker images

docker rmi centos:7

docker rmi 容器ID号

    1.8 查看所有镜像查看centos是否被删除

docker images

   1.9 从仓库下载centos镜像

docker pull 192.168.10.10:5000/centos:v1

docker images


二、harbor简介

  2.1 harbor定义

    Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务

    Harbor以 Docker 公司开源的Registry为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

  Harbor的每个组件都是以docker容器的形式构建的,使用docker-compose来对它进行部署。用于部署Harbor的docker-compose模板位于harbor/docker-compose.yml

  2.2 harbor特性

  1. 基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限。
  2. 基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)。
  3. 支持LDAP/AD:Harbor 可以集成企业内部已有的 AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理。
  4. 镜像删除和垃圾回收:镜像可以被删除,也可以回收镜像占用的空间。
  5. 图形化用户界面:用户可以通过浏览器来浏览,搜索镜像仓库以及对项目进行管理。
  6. 审计管理:所有针对镜 像仓库的操作都可以被记录追溯,用于审计管理。
  7. 支持RESTful API:RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
  8. Harbor和docker registry的关系:Harbor实质上是对docker registry做了封装,扩展了自己的业务模板。

  2.3 harbor构成

    Harbor 在架构上主要有 ProxyRegistryCore servicesDatabase(Harbor-db)、Log collector(Harbor-log)、Job services六个组件。

  • proxy反向代理:通过一个前置的发现代理统一接收浏览器、docker客户端的请求,并且请求转发给后端不同的服务
  • registry:负责存储docker镜像,处理docker的pull/push命令来做上传和下载
  • core services:harbor的核心功能包括:
    • ui:提供图像界面

    • webhook:网站一些服务功能(通知机制)

    • token(令牌):提供身份验证服务

  • log collector:负责日志(其他的组件日志、上传、下载、用户、访问)收集,以供后期进行分析和健康检查
  • database:提供数据库服务,主要记录数据库镜像的元信息以及用户的身份信息
  • job services:用于镜像复制,本地镜像可以被同步到远程harbor实例上

    2.3.1 认证三种方式

  • 令牌
  • 用户密码
  • ssl

  2.4 总结

    Harbor 的每个组件都是以Docker容器的形式构建的,因此,使用Docker Compose来对它进行部署。
    总共分为7个容器运行,通过在docker-compose.yml所在目录中执行docker-compose ps命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。
    其中harbor-adminserver主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui所要操作的所有数据都通过harbor-adminserver这样一个数据配置管理中心来完成。

解释:adminserver(管理员):用于管理用户操作以及身份认证等

  2.5 harbor实验部署

  2.5.1 前期准备

IP地址服务
harbor服务器192.168.10.9docker-ce、docker-compose、harbor-offline-v1.2.2
client客户端192.168.10.7docker-ce

  2.5.2 在harbor实验部署

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose --version

  2.5.3 服务端部署harbor服务

  2.5.3.1 下载harbor压缩包并解压到指定位置

cd /opt/

将harbor-offline-installer-v1.2.2.tgz和docker-compose-1.25.0转移到当前xshell下

tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

或者tar xf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

mv docker-compose-1.25.0 /usr/local/bin

  2.5.3.2 修改harbor安装的配置文件

    在配置文件下修改您当前harbor服务器的IP地址

cd /usr/local/harbor

vim /usr/local/harbor/harbor.cfg

  2.5.3.3 启动harbor服务

cd /usr/local/harbor/

./prepare

./install.sh

  2.5.3.4 查看harbor启动的镜像

docker-compose ps

  2.5.3.5 网页登录harbor

    请输入您的IP地址/harbor,然后输入用户名和密码登入harbor

  2.5.3.6 创建一个项目

    点击项目,新建项目输入项目名称,查看项目名称

  2.5.3.7 登录harbor

docker login -u admin -p Harbor12345 http://127.0.0.1

或者  docker login -u admin -p Harbor12345 http://您当前的本机地址

  2.5.3.8 下载nginx

docker pull nginx

  2.5.3.9 为镜像打上标签

docker tag nginx:latest 127.0.0.1/myproject-xxx/nginx:v1

或者docker tag nginx:latest 您的IP地址/mysproejct-xxx/nginx-v1

docker images

  2.5.3.10 上传镜像到仓库

docker push 127.0.0.1/myproject-xxx/nginx:v1

  2.5.3.11 查看是否传送到仓库中

  2.5.4 客户端操作

  2.5.4.1 登录harbor仓库

docker login -u admin -p Harbor12345 http://您harbor服务器的IP地址

  2.5.4.1.1 解决方式一

    在/usr/lib/systemd/system/docker.service里编辑

vim /usr/lib/sysetmd/system/docker.service

  2.5.4.1.2 解决方式二

    在daemon.json里进行编辑

vim /etc/docker/daemon.json

  2.5.4.2 重新启动服务,再次登录harbor

systemctl daemon-reload

systemctl restart docker

docker login -u admin -p Harbor12345 http://您当前Harbor服务器的IP地址

  2.5.4.3 仓库下载镜像并查看

docker pull 您当前harbor服务器的IP地址/myproject-xxx/nginx:v1

docker images

  2.5.4.4 仓库下载tomcat

docker pull tomcat

  2.5.4.5 标签镜像同时上传到仓库,查看网页仓库是否上传成功

docker tag tomcat:latest 您当前harbor服务器的IP地址/myproject-xxx/tomcat:v2

docker push 您当前harbor服务器的IP地址/myproject-xxx/tomcat:v2

  2.5.5 维护管理harbor仓库

  2.5.5.1 创建用户

  2.5.5.2 添加项目成员

   点击成员,新建仓库

  2.5.5.3 客户端上使用普通账户操作镜像
  2.5.5.3.1 删除tomcat:v2镜像,退出harbor,然后再次用新密码登录harbor

docker rmi 您当前harbor服务器的IP地址/myproject-xxx/tomcat:v2

docker images

docker logout 您harbor服务器的IP地址

docker login -u admin -p Harbor12345 http://您当前harbor服务器的IP地址

  2.5.5.3.2 上传tomcat:v3镜像,同时在网页仓库查看

docker push 您当前harbor服务器的IP地址/myproject-xxx/tomcat:v3

  2.5.5.4 查看日志信息

  2.5.5.5 修改Harbor.cfg配置文件
  2.5.5.5.1 删除docker-compose

cd /usr/local/harbor/

docker-compose down -v

  2.5.5.5.2 重新生成文件

./prepare

  2.5.5.5.3  启动并运行容器

docker-compose up -d

  2.5.5.6 移除Harbor服务容器同时保留镜像数据/数据库,同时进行迁移
  2.5.5.6.1 删除docker-compose

docker-compose down -v

  2.5.5.6.2 查看数据

ls /data/registry/docker/registry/v2/repositories/myproject-xxx/

cd /data/registry/docker/registry/v2/repositories/myproject-xxx/

ls

  2.5.5.6.3 打包镜像数据

tar zcvf xxx-registry.tar.gz ./* 

  2.5.5.6.4 备份内容

ls

cd /usr/local/harbor/

mv /data/registry/docker/registry/v2/repositories/myproject-xxx/xxx-registry.tar.gz /opt/

相关文章:

docker私有仓库部署与管理

一、搭建本地公有仓库 1.1 首先下载registry镜像 docker pull registry 1.2 在daemon.json文件中添加私有镜像仓库地址并重新启动docker服务 vim /etc/docker/daemon.json 1.3 运行registry容器 docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restartal…...

2024第六届济南国际大健康产业博会将于5月27日如期开幕

由山东省城市经济学会、山东省科学养生协会主办的第六届中国(济南)国际大健康产业博览会,将于5月27-29日,在济南黄河国际会展中心盛大举办。 近年来,健康越来越受到大众的重视,在我国经济重要的转型阶段成…...

计算方法实验9:Romberg积分求解速度、位移

任务 输出质点的轨迹 ( x ( t ) , y ( t ) ) , t ∈ { 0.1 , 0.2 , 0.3 , . . . , 10 } (x(t), y(t)), t\in \{0.1, 0.2, 0.3, ..., 10\} (x(t),y(t)),t∈{0.1,0.2,0.3,...,10},并在二维平面中画出该轨迹.请比较M分别取4, 8, 12, 16, 20 时,Romberg积分达…...

设计模式有哪些基本原则

目录 开闭原则(Open Closed Principle) 里氏替换原则(Liskov Substitution principle) 单一职责原则(Single Responsibility Principle,SRP)...

别再出错了!华为交换机到底如何配置access、trunk、hybird端口?

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 我们都知道,网络工程师的工作离不开对交换机的熟练操作。华为交换机的配置,绝对是考验…...

OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 平台产品 - 迁移评估工具 OMA前言OceanBase 数据更新架构OceanBase 平台产品 - 迁移评估工具 OMA兼容性评估性能评估导出 OceanBase 数据库对象和 SQL 语句OceanBase 分布式数据库【信创/国产…...

UE5入门学习笔记(六)——编译低版本插件

对于有些低版本的插件,可以通过此方法自己编译到高版本而无需等待插件作者更新 使用工具:如图所示 步骤1:打开cmd,并使用cd命令切换到此目录 步骤2:输入如下指令 RunUAT.bat BuildPlugin -Plugin“路径1” -Package“…...

MySQL全局锁、表级锁、行锁、死锁、索引选择

文章目录 全局锁表级锁表锁元数据锁 MDL 如何安全的给小表添加字段1. 理解和监控长事务2. 使用NOWAIT和WAIT语法示例 3. 选择合适的时间窗口4. 分阶段执行5. 使用在线DDL工具 行锁死锁普通索引和唯一索引的选择索引基础业务场景分析性能考量实践建议索引及其选择机制索引选择错…...

深入解析算法效率核心:时间与空间复杂度概览及优化策略

算法复杂度,即时间复杂度与空间复杂度,衡量算法运行时资源消耗。时间复杂度反映执行时间随数据规模增长的关系,空间复杂度表明额外内存需求。优化策略,如选择合适数据结构、算法改进、循环展开等,对于提升程序效率、减…...

虚拟机装CentOS镜像

起先,是先安装一个VM虚拟机,再去官方网站之类的下载一些镜像,常见镜像有CentOS镜像,ubantu镜像,好像还有一个树莓还是什么的,软件这块,日新月异,更新太快,好久没碰&#…...

SpringCloud 集成consul,消费者报I/O error on GET request for...

创建消费者微服务,去调用生产者微服务的请求过程中,出现以下错误: 报错原因 因为在使用SpringCloudAlibaba中的Nacos框架时,自动整合了SpringCloud中的Ribbon框架中的负载均衡,因为微服务提供者有两个,在消…...

pytest的测试标记marks

引用打标的marks文档 Python的pytest框架(5)--测试标记(Markers)_pytest执行指定的marker-CSDN博客 https://www.cnblogs.com/pipile/p/12696226.html 给用例自定义打标签的代码示例 #coding:utf-8 import pytest pytest.mark.smoke def test_1():print("smoke的测试用…...

端口占用解决方法

1、查询端口 打开cmd命令提示符窗口,输入以下指令查询所有端口 netstat -ano //查询所有端口 netstat -ano|findstr 8080 //查询指定端口 2、杀死进程 taskkill /t /f /im 进程号(PID)...

Java毕设之基于springboot的医护人员排班系统

运行环境 开发语言:java 框架:springboot,vue JDK版本:JDK1.8 数据库:mysql5.7(推荐5.7,8.0也可以) 数据库工具:Navicat11 开发软件:idea/eclipse(推荐idea) 系统详细实现 医护类型管理 医护人员排班系统的系统管理员可以对医护类型添加修改删除以及…...

OpenCV4.8 VS2019 MFC编程出现的诡异现象

OpenCV4.8及OpenCV4.4 VS2019MFC编程在调用imred()函数时,debug X64试运行没问题。 release X64试运行时出现下面错误。 void CEasyPictureDlg::OnBnClickedOpen() {CFileDialog fdlg(TRUE, NULL, 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMP…...

游戏辅助 -- 三种分析角色坐标方法(CE、xdbg、龙龙遍历工具)

所用工具下载地址: https://pan.quark.cn/s/d54e7cdc55e6 在上次课程中,我们成功获取了人物对象的基址:[[[0xd75db8]1C]28],而人物血量的地址则是基址再加上偏移量278。 接下来,我们需要执行以下步骤来进一步操作&a…...

【VTKExamples::Rendering】第一期 TestAmbientSpheres(环境照明系数)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TestAmbientShperes,介绍环境照明系数对Actor颜色的影响,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动…...

代码随想录leetcode200题之栈与队列

目录 1 介绍2 训练3 参考 1 介绍 本博客用来记录代码随想录leetcode200题中栈与队列部分的题目。 2 训练 题目1&#xff1a;232. 用栈实现队列 C代码如下&#xff0c; #include <stack>class MyQueue { private:stack<int> a;stack<int> b; //辅助栈 pu…...

使用Python实现2048小游戏

使用Python实现2048小游戏源码分享。实现效果如下所示。 实现效果图 游戏开始效果图 游戏结束效果图 部分源码截图 下载链接 基于如下的运行环境。运行需要安装tkinter /Library/Frameworks/Python.framework/Versions/3.7/bin/python/bin/python /Users/nihui/Documents/P…...

漏洞管理是如何在攻击者之前识别漏洞从而帮助人们阻止攻击的

漏洞管理 是主动查找、评估和缓解组织 IT 环境中的安全漏洞、弱点、差距、错误配置和错误的过程。该过程通常扩展到整个 IT 环境&#xff0c;包括网络、应用程序、系统、基础设施、软件和第三方服务等。鉴于所涉及的高成本&#xff0c;组织根本无法承受网络攻击和数据泄露。如果…...

LNMT部署jpress

LNMT部署jpress 环境要求&#xff1a; MySQL版本5.6/5.7 tomcat版本9.0.65 源码安装MySQL5.7版 //源码安装MySQL5.7版1关闭防火墙 2创建mysql用户 3上传mysql5.7包&#xff08;https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.g…...

汽车软件研发工具链丨怿星科技新产品重磅发布

“创新引领未来”聚焦汽车软件新基建&#xff0c;4月27日下午&#xff0c;怿星科技2024新产品发布会在北京圆满举行&#xff01;智能汽车领域的企业代表、知名大企业负责人、投资机构代表、研究机构代表齐聚现场&#xff0c;线上直播同步开启&#xff0c;共同见证怿星科技从单点…...

Faiss原理及使用总结

Faiss&#xff08;Facebook AI Similarity Search&#xff09;是一个用于高效相似性搜索和密集向量聚类的库。 一、原理 向量表示与相似度度量&#xff1a;在Faiss中&#xff0c;数据通常被表示为高维向量&#xff0c;这些向量可以来自深度学习模型的特征提取&#xff0c;也可…...

跨越智能建筑桥梁:西门子PLC无缝对接BACnet楼宇自动化系统化

智能楼宇每一个环节的互联互通都至关重要&#xff0c;而PLC&#xff08;可编程逻辑控制器&#xff09;作为自动化领域的基石&#xff0c;其与BACnet协议的融合无疑成为了构建智能楼宇神经系统的关键节点。今天&#xff0c;让我们深入探讨如何利用先进的PLC转BACnet协议网关&…...

景源畅信电商:抖音小店有哪些比较热门的宣传方法?

抖音小店的热门宣传方法&#xff0c;是许多商家关注的焦点。在数字化营销时代&#xff0c;有效的宣传手段不仅能提升品牌知名度&#xff0c;还能吸引潜在消费者&#xff0c;促进销售。以下是针对抖音小店热门宣传方法的详细阐述&#xff1a; 一、短视频内容营销 作为抖音的核心…...

兄弟DCP-7057激光打印机报错误代码EC检修及分析

故障描述&#xff1a; 兄弟DCP-7057激光打印机屏幕显示无法打印EC关闭电源&#xff0c;然后重新打开打印机。 故障检修及分析&#xff1a; 1、定影单元风扇的插线连接不良 检查定影单元风扇的插线连接并重新连接&#xff1b; 2、定影单元风扇故障 更换定影单元风扇&#xff1b…...

【华为】IPSec VPN手动配置

【华为】IPSec VPN手动配置 拓扑配置ISP - 2AR1NAT - Easy IPIPSec VPN AR3NATIPsec VPN PC检验 配置文档AR1AR2 拓扑 配置 配置步骤 1、配置IP地址&#xff0c;ISP 路由器用 Lo0 模拟互联网 2、漳州和福州两个出口路由器配置默认路由指向ISP路由器 3、进行 IPsec VPN配置&…...

面试题分享之Java集合篇(三)

注意&#xff1a;文章若有错误的地方&#xff0c;欢迎评论区里面指正 &#x1f36d; 系列文章目录 面试题分享之Java基础篇&#xff08;二&#xff09;面试题分享之Java基础篇&#xff08;三&#xff09; 面试题分享之Java集合篇&#xff08;一&#xff09;、 面试题分享之Ja…...

【python】模拟巴特沃斯滤波器

巴特沃斯滤波器&#xff08;Butterworth Filter&#xff09;&#xff0c;以其设计者斯蒂芬巴特沃斯&#xff08;Stephen Butterworth&#xff09;的名字命名&#xff0c;是一种具有平滑频率响应的滤波器。这种滤波器在频域中具有非常平坦的无波纹响应&#xff0c;直到它达到截止…...

面试题:简述Go的垃圾回收机制

Go的GC(Garbage Collection, 垃圾回收)机制主要是用来自动释放不再被程序使用的内存&#xff0c;以防止内存泄漏。Go的垃圾回收是并发的&#xff0c;也就是说&#xff0c;它在主程序运行的同时进行垃圾回收。 1. 标记清除(Mark and Sweep) Go的垃圾回收器主要使用的是标记清除…...

做cp和网站运营/郑州官网网站推广优化

PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud 2019-CVPR-香港中文大学-3D目标检测...

婚庆网站模板免费下载/电子商务网店运营推广

Python中多态的作用 让具有不同功能的函数可以使用相同的函数名&#xff0c;这样就可以用一个函数名调用不同内容(功能)的函数。 Python中多态的特点 1、只关心对象的实例方法是否同名&#xff0c;不关心对象所属的类型&#xff1b; 2、对象所属的类之间&#xff0c;继承关系…...

做mv主题网站/网站怎么优化关键词快速提升排名

https://zhuanlan.zhihu.com/p/29150809 一、数据库有锁机制的原因。 数据库锁定机制简单来说&#xff0c;就是数据库为了保证数据的一致性和有效性&#xff0c;而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制&#xff…...

提供手机自适应网站公司/如何创建自己的网站

欢迎关注头条号&#xff1a;Java小野猫web项目部署到tomcat上之后&#xff0c;有时需要打断点单步调试&#xff0c;如果用的是Intellij idea&#xff0c;可以通过如下方法实现&#xff1a;开启debug端口&#xff0c;启动tomcat以tomcat7.0.75为例&#xff0c;打开bin目录下的ca…...

上海建站网站的企业/海外推广方案

四、链表 链表常用算法及思想&#xff1a;快慢指针、哈希表 注意点&#xff1a;注意链表的边界情况&#xff0c;如头结点 4.1删除链表的倒数第n个结点 原题链接 给定一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 输入&#xff1a;h…...

厦门外贸网站建设哪家公司大/网络推广和运营的区别

java-访问限制&#xff1a;由于对所需库.. \ jre \ lib \ rt.j的限制而无法访问我正在尝试修改一些旧代码&#xff0c;而又得到以下错误&#xff1a;访问限制&#xff1a;由于必需的库.. \ jre \ lib \ rt.jar的限制&#xff0c;无法访问标头类型的方法create(JAXBRIContext&am…...