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完整代码演示:总结 前言——什么链表 链…...
拯救变砖的STM32:利用BOOT0/1组合实现三种烧录救机方案(含串口/JTAG异常处理)
STM32紧急救援指南:BOOT引脚组合的三种烧录方案与异常处理实战 引言:当STM32突然"变砖"时 深夜的实验室里,王工盯着眼前毫无反应的STM32开发板,额头渗出细密的汗珠——距离项目交付只剩12小时,核心控制程序却…...
从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的
从被动救火到主动防御:PrometheusGrafana构建业务监控实战手册 凌晨三点,手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志,却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不…...
3步掌握Vortex:让250+游戏模组管理像专业开发者一样简单
3步掌握Vortex:让250游戏模组管理像专业开发者一样简单 【免费下载链接】Vortex Vortex: Nexus-Mods开发的游戏模组管理器,用于简化模组的安装和管理过程。 项目地址: https://gitcode.com/gh_mirrors/vor/Vortex 价值定位:重新定义游…...
从ThreadLocal到TransmittableThreadLocal:手把手解决线程池上下文传递难题
从ThreadLocal到TransmittableThreadLocal:线程池上下文传递的终极解决方案 在分布式系统和微服务架构盛行的今天,异步编程已成为Java开发者日常工作中不可或缺的一部分。无论是处理高并发请求、优化系统性能,还是实现复杂的业务流程…...
kin-openapi版本迁移指南:从v0.x到v1.0的平滑升级
kin-openapi版本迁移指南:从v0.x到v1.0的平滑升级 【免费下载链接】kin-openapi OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) 项目地址: https://gitcode.com/gh_mirrors/ki/kin-openapi kin-openapi是…...
从‘巡逻’到‘狂暴’:手把手用Unity行为树节点拼出一个有灵魂的BOSS战AI
从‘巡逻’到‘狂暴’:手把手用Unity行为树节点拼出一个有灵魂的BOSS战AI 想象一下,你正在玩一款动作游戏,面对一个看似普通的BOSS。起初它只是机械地挥舞武器,但随着战斗深入,它开始召唤小弟、释放范围技能࿰…...
如何极速获取金融市场数据:5分钟实战指南
如何极速获取金融市场数据:5分钟实战指南 【免费下载链接】qstock qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析包,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(策…...
重新定义AI助手体验:突破Cursor Pro限制的5个技术方案
重新定义AI助手体验:突破Cursor Pro限制的5个技术方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...
告别混乱!用PyQt5模块化设计打造你的工业上位机(附完整源码与两种传值方式详解)
工业级PyQt5模块化开发实战:从架构设计到数据交互的完整指南 在工业自动化与测控领域,上位机软件往往需要集成数据采集、实时监控、设备控制等复杂功能。传统开发方式容易导致代码臃肿、维护困难——按钮事件与业务逻辑纠缠不清,数据流向如迷…...
6大维度深度测评:如何挑选最可靠的开源付费墙绕过工具?
6大维度深度测评:如何挑选最可靠的开源付费墙绕过工具? 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字阅读时代,优质内容的付费壁垒逐渐形成…...
