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

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:此参数设置图像的垂直偏移。正值创建到底部的偏移量&#xff…...

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完整代码演示:总结 前言——什么链表 链…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...