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完整代码演示:总结 前言——什么链表 链…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...