8.docker仓库
文章目录
- Docker仓库
- 本地私有仓库
- Docker Harbor
- Docker harbor部署
- 访问页面
- 创建用户下载私有仓库镜像
- harbor同步
Docker仓库
本地私有仓库
##先下载 registry 镜像docker pull registry
##修改配置文件,在 daemon.json 文件中添加私有镜像仓库地址vim /etc/docker/daemon.json{"insecure-registries": ["http://192.168.242.66:5000"], ##注意在末尾添加 ,"registry-mirrors": ["镜像加速URL"]
}

##重启服务systemctl restart docker.service
##运行 registry 容器docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

###为要上传的镜像重新打标签docker tag nginx:centos7 192.168.242.66:5000/nginx:v1

##上传镜像到私有仓库docker push 192.168.242.66:5000/nginx:v1

###在网页中查看所有的镜像http://192.168.242.66:5000/v2/_catalog###查看仓库中某一个镜像的tag标签http://192.168.242.66:5000/v2/nginx/tags/list


###在另外一个docker服务器中,拉去这个仓库中是镜像##也要先修改配置文件##修改配置文件,在 daemon.json 文件中添加私有镜像仓库地址vim /etc/docker/daemon.json{"insecure-registries": ["http://192.168.242.66:5000"], ##注意在末尾添加 ,"registry-mirrors": ["镜像加速URL"]
}##重启服务systemctl restart docker.service
##在配置文件修改完成后,拉取镜像docker pull 192.168.242.66:5000/nginx:v1

Docker Harbor
Docker harbor部署
##首先,先修改 daemon.json 配置文件vim /etc/docker/daemon.json{"insecure-registries": ["http://192.168.242.67"], ##注意在末尾添加 ,"registry-mirrors": ["镜像加速URL"]
}##重启Docker服务
systemctl restart docker
##上传 Docker harbor 安装文件并安装
##安装 Docker-compose 服务cd /opt/tar xf harbor-offline-installer-v1.10.18.tgzchmod +x docker-compose
mv /opt/docker-compose /usr/local/bin/docker-compose
docker-compose --version

##修改 harbor 配置文件cd /opt/harborvim harbor.yml---第5行---
hostname: 192.168.242.67---第13行---
注释掉https的配置项---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码

##先做前其准备或者之间安装 harborcd /opt/harbor./prepare./install.sh ##自动安装###查看所有的镜像是否安装成功docker-compose ps


访问页面
###在网页中登陆到 harborhttp://192.168.242.67用户:admin
密码:Harbor12345##就可以看见页面

##在页面中创建项目---》项目
---》新建项目
--》项目名称,其他默认,如果要创建公开仓库,可以点击公开

###上传镜像文件到 harbor的私有和共有仓库
##先修改标签docker tag centos:7 192.168.242.67/library/centos:test01docker tag centos:7 192.168.242.67/myimages/centos:test02##要上传镜像到 harbor,需要先登录docker login -u admin -p Harbor12345 http://192.168.242.67##上传镜像docker push 192.168.242.67/library/centos:test01docker push 192.168.242.67/myimages/centos:test02



创建用户下载私有仓库镜像
--》用户管理
--》创建用户
--》按照要求填写选项

##对应的项目中添加用户--》项目
--》点击项目名
--》成员,添加用户
--》为用户选择角色(决定用户的权限)

###在另外一个docker服务器中,拉取这个harbor仓库的镜像##先修改配置文件vim /etc/docker/daemon.json{"insecure-registries": ["http://192.168.242.67"], ##注意在末尾添加 ,"registry-mirrors": ["镜像加速URL"]
}##重启Docker服务
systemctl restart docker
###先利用创建的用户登陆 harbordocker login -u lisi -p Lisi12345 http://192.168.242.67##利用lisi 在myimages项目中的维护人员身份,来去镜像文件docker pull 192.168.242.68/myimages/nginx:v2

###退出 lisi的登陆用户docker logoutdocker login -u zhangsan -p Zhangsan123 http://192.168.242.67##尝试利用 zhangsan 的身份拉取镜像,成功docker pull 192.168.242.68/myimages/nginx:v2

###利用这连个用户,尝试上传镜像docker tag 192.168.242.66:5000/nginx:v2 192.168.242.68/myimages/ngin:v3
##先修改标签docker push 192.168.242.68/myimages/ngin:v3
##在上传镜像


-
结论
-
拉取操作时:
- 公开项目的镜像可以被任意用户拉取
- 私有项目的镜像必须先登陆项目对应的相关用户才能拉取
-
上传操作时:
- 必须先登陆相关项目的用户,且登陆的用户具有上传权限的角色才能够推送镜像
-
harbor同步
###在另外的一台的docker服务器中创建harbor服务##首先,先修改 daemon.json 配置文件vim /etc/docker/daemon.json{"insecure-registries": ["http://192.168.242.66"], ##注意在末尾添加 ,"registry-mirrors": ["镜像加速URL"]
}##重启Docker服务
systemctl restart docker
##在harbor的配置文件中vim harbor.yml---第5行---
hostname: 192.168.242.66---第13行---
注释掉https的配置项---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码
##在web中访问另外一台 harborhttp://192.168.242.66

###仓库管理--》仓库管理
--》新建目标 提供者 : harbor 目标名:另一个harborIP 目标URL:另一个harborIP访问ID:admin 访问密码:就是密码
--》测试链接 成功就确认##两个harbor之间都要互相做对方的仓库管理

##两个 harbor 进行复制管理,首先创建 push 是触发动作,实现镜像同步--》复制管理
--》新建规则
--》按照要求进行填写 名称:对方harbor的IP 复制模式:按要求选目标的Registry:选择创建的仓库管理触发模式:事件驱动勾选 删除本地资源时,删除远程资源

##在192.168.242.68上 上传镜像,查看另一个harbor是否同步docker tag nginx:latest 192.168.242.68/myimages/nginx:v8docker login -u admin -p Harbor12345 http://192.168.242.68docker push 192.168.242.68/myimages/nginx:v8



##在 192.168.242.66 的主机上创建 pull 来去来复制镜像--》复制管理
--》新建规则
--》按照要求进行填写 名称:对方harbor的IP 复制模式:按要求选目标的Registry:选择创建的仓库管理触发模式:定时Cron String 0 */1 * * * *覆盖勾选


相关文章:
8.docker仓库
文章目录 Docker仓库本地私有仓库Docker HarborDocker harbor部署访问页面创建用户下载私有仓库镜像harbor同步 Docker仓库 本地私有仓库 ##先下载 registry 镜像docker pull registry##修改配置文件,在 daemon.json 文件中添加私有镜像仓库地址vim /etc/dock…...
价值 1k 嵌入式面试题-计算机网络 OSI
开门见山 请讲下 OSI 各层协议的主要功能? 常见问题 回答不系统回答不确切无法和实际网络协议做关联对应 答题思路 OSI 代表了开放互联系统中信息从一台计算机的一个软件应用流到另一个计算机的另一个软件应用的参考模型 OSI 包含 7 层,每一层负责特…...
spring boot去除get post空格
1.用ControllerAdvice处理 package com.wangzs.handler;import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import org.springframewo…...
设计模式四:单例模式(Singleton)
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。 通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一…...
《水经注地图服务》发布的影像数据如何在OsgEarth中调用
OsgEarth 是一个用于OpenSceneGraph (OSG)的可扩展地形渲染工具包,它是一个开源、高性能、3D 图形工具包。 只需创建一个简单的 XML 文件,将其指向您的图像、高程和矢量数据,将其加载到您最喜欢的 OSG 应用程序中,然后开始&#…...
css滤镜:drop-shadow
一、用法 drop-shadow( offset-x offset-y blur-radius spread-radius color ) offset-x:此参数设置图像的水平偏移。正值将创建右侧的偏移量,负值将创建左侧的偏移量。offset-y:此参数设置图像的垂直偏移。正值创建到底部的偏移量ÿ…...
java ThreadLocal
private ThreadLocal threadLocal new ThreadLocal(); threadLocal.set(0); (int) threadLocal.get(); 上面三行代码分别是定义、赋值和取值。 介绍: 我们只需要实例化对象一次,并且也不需要知道它是被哪个线程实例化。虽然所有的线程都能访问到这个T…...
MySQL高级篇第6章(索引的数据结构)
文章目录 1、为什么使用索引2、索引及其优缺点3、InnoDB中索引的推演4、MyISAM中的索引方案5、索引的代价6、MySQL数据结构选择的合理性 1、为什么使用索引 假如给数据使用 二叉树 这样的数据结构进行存储,如下图所示 2、索引及其优缺点 3、InnoDB中索引的推演 4、M…...
Unity 性能优化三:动画模块、物理模块
目录 动画模块 Mecanim 模块 1.1 Animator active的数量 1.1.1 Culling Mode 1.1.2 Optimize Gameobject 1.1.3 Apply Root Motion 1.1.4 Compute Skinning 1.1.5 Animator Initialize 1.2 Legacy动画 物理模块 2.1 物理更新次数 2.1 减少不必要的Collision 2.5 A…...
延迟函数
Destory函数: public static void Destroy(Object obj, [DefaultValue("0.0F")] float t); Invoke函数: public void Invoke(string methodName, float time); 挂个空物体测试一下: public class DelayTest : MonoBehaviour {…...
IBM报告:2023数据泄露平均成本将达到445万美元
7月24日,IBM发布年度《数据泄露成本报告》显示,2023年全球数据泄露的平均成本达到445万美元,创该报告有史以来最高纪录,较过去3年均值增长了15%。同一时期,检测安全漏洞和漏洞恶化带来的安全成本上升了42&a…...
20.3 HTML 表格
1. table表格 table标签是HTML中用来创建表格的元素. table标签通常包含以下子标签: - th标签: 表示表格的表头单元格(table header), 用于描述列的标题. - tr标签: 表示表格的行(table row). - td标签: 表示表格的单元格(table data), 通常位于tr标签内, 用于放置单元格中的…...
flutter项目运行时一直卡在Running Gradle task ‘assembleDebug‘解决办法
1.修改项目中的android/build.gradle,将google(),mavenCentral()替换为下面的代码 maven { url https://maven.aliyun.com/repository/central/ }maven { url https://maven.aliyun.com/repository/public/ }maven { url https://maven.aliyun.com/repos…...
“深入理解Spring Boot:从入门到精通“
标题:深入理解Spring Boot:从入门到精通 摘要: Spring Boot是一款用于简化Spring应用开发的框架,它提供了一系列的开箱即用的功能和自动化配置,使得开发者能够快速构建、部署和运行Spring应用。本文将从入门到精通&am…...
IP 工具
什么是IP 工具 IP 工具是用于轻松扫描和排除网络 IP 地址空间故障的网络工程工具。IP 工具使网络管理员能够审核、跟踪和监视 IP 地址、子网以及使用 IP 的设备和主机的性能。这个全面的网络工程工具集包括高级 IP 工具,如 Ping、系统资源管理器、MAC 地址解析器和…...
Linux - 进程概念(进程状态、优先级)
1.进程状态 操作系统中进程有多种状态模型 三态模型 进程状态分为 就绪态,执行态,阻塞态。 就绪(Ready)状态:指进程已处于准备好运行的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立…...
k8s概念-deployment
deployment用于部署无状态应用 Deployment集成了上线部署、滚动升级、创建副本、回滚等功能 Deployment里包含并使用了ReplicaSet Replicaset 通过改变Pod副本数量实现Pod的扩容和缩容 参考文档 https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/ …...
Flutter 调试工具篇 | 壹 - 使用 Flutter Inspector 分析界面
theme: cyanosis 1. 前言 很多朋友可能在布局过程中、或者组件使用过程中,会遇到诸如颜色、尺寸、约束、定位等问题,可能会让你抓耳挠腮。俗话说,磨刀不误砍柴工,会使用工具是非常重要的,其实 Flutter 提供了强大的调试…...
什么是云原生和 CNCF?
一、CNCF简介 CNCF:全称Cloud Native Computing Foundation(云原生计算基金会),成立于 2015 年 12 月 11 日,是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续…...
数据结构——单链表
无头单向非循环链表的建立 前言——什么链表链表形象图链表分类 一、Single_linked_list.h头文件的建立二、Single_linked_list.c功能函数的定义Single_linked_list_test.c主函数的定义四、代码运行测试五、Single_linked_list完整代码演示:总结 前言——什么链表 链…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
