网站做备案需要多久高端品牌网站建设优势

news/2025/9/23 22:11:16/文章来源:
网站做备案需要多久,高端品牌网站建设优势,莱芜信誉好的网络推广公司,深圳高端网站制作公司排名提到registry v2#xff0c;主要改进是支持并行pull镜像#xff0c;镜像层id变成唯一的#xff0c;解决同一个tag可能对应多个镜像的问题等等。如果还不太了解#xff0c;可以且听我细细道来。首先不得不说的是v2 新加了一个概念Digest他是基于内容进行寻址(Content-addres…提到registry v2主要改进是支持并行pull镜像镜像层id变成唯一的解决同一个tag可能对应多个镜像的问题等等。如果还不太了解可以且听我细细道来。首先不得不说的是v2 新加了一个概念Digest他是基于内容进行寻址(Content-addressable)算法算出来的一串hash值。简单的说就是内容不同得出了的digest值是不同的但是内容相同的话得出的digest值是一定相同的。我们的每个镜像层id就是根据每个镜像层的内容得出来的digest的。所以你在改动镜像层以后生成的digest就不同了而不动的话这个digest还是不变的那么这个digest id是什么时候生成的呢我们在本地构建镜像时生成的镜像层id每次都是不一样的这个digest是我们在push镜像时生成的。为了验证内容相同push到registry得到的digest相同我做了个小实验用如下Dockerfile 注释掉第三行和不注释构建了两次镜像再push到registry如果是v1的话push上去得到的层id肯定是不一样的但是v2里面注释第三行得到了5个镜像层不注释掉第三行得到了6个镜像层并且第一次的5个层都包含在第二次6个里面。所以得出结论这个digest确实是根据内容生成的。接下来说一下镜像的id镜像id也是生成了一个digest值镜像id是根据_manifest这个文件也就是镜像层id和镜像名字等一些其他信息生成的digest。我们在每次向v2 push镜像时候最后都会返回给docker client一个digest值这个值就代表了镜像的digest id。这个id的作用就是可以指定唯一的镜像了。类似tag使用。因为我们知道v1时候用tag有个弊病就是多次构建的镜像可以使用同一个tag导致我们用tag标识镜像的时候可能并不是我们想要的而用了digest就不会出现这种问题。我们在写Dockerfile的时候引用镜像就可以这么用FROM localhost:5000/testsha256:ac81211548c0d228e10daaf76f6e0024e5f91879c8a7e105e777d6f964270449像使用tag一样用本地docker查看镜像digests时候可以使用docker images --digests当然目前来说你看到的都是我们需要从registry上pull下来使用docker pull localhost:5000/testsha256:ac81211548c0d228e10daaf76f6e0024e5f91879c8a7e105e777d6f964270449了解了digest我们来看一看registry的存储结构这部分最好可以对着registry的文件夹结构来看。简单的画了个草图。是v2的文件夹层级关系这个是目录下具体的样子可以先看一会儿可以看到registry 下面有两个文件夹blobs和repositoriesblobs下面存储了registry的所有基本信息元素包括镜像层digest和镜像digest之后在通过某种方式将调用这里的信息。blobs文件夹下面先分了一个等级是digest的前两位字符组成的文件夹为了筛选digest避免了这个文件夹太大查看时都难。这样方便定位。每个blob里都有一个data文件存储相关信息。repositories下面存储的是各个镜像名字命名的文件夹进入一个镜像文件夹后可以看到三个子文件夹_layers, _manifests, _uploads_layers这个文件夹是跟这个镜像有关的所有镜像层进入其中一个镜像层文件夹下面只有一个文件--link命名的文件里面的内容就是一个digest。这就跟blobs下面的镜像层建立起了联系在repositories这个文件夹下都是通过link文件与blobs文件夹下的文件建立的联系。_upload这个文件夹平时点进去是空的这个文件夹主要作用是上传用的。我们上传镜像层的时候先上传到这个文件夹下等完成传输以后在将这个文件夹下的内容移动到blobs下面然后将原来的文件删除。_manifest这个文件夹非常重要是镜像的相关信息。他下面有两个子文件夹revisions和tagsrevisions这个文件夹下是这个镜像的所有可用的镜像digest里面的link文件指向了镜像的digest。我们去blobs里面找相应的id对应的文件查看文件下面的data我们发现这个data文件里面存储的信息和我们通过registry v2 rest api请求manifest信息相同~在看_manifest/tags/。下面就是这个镜像的不同tag了。又分了current和index分别表示当前tag对应的digest和此tag下的所有镜像digest。下面来介绍一下如何搭建token验证的registry先看一下官方给的图可以看到v2和v1相比访问形式完全变了去掉了index server加上了一个auth server。访问顺序是这样的我们通过docker client让docker deamon先访问registryregistry如果不需要身份验证则直接返回结果若需要验证返回401并在header附带一些信息daemon根据信息访问auth server。auth server判断通过了验证并返回给daemon一串token。daemon带着这串token再去访问registry则可以获得到信息pull pushapi都走的这套流程。接下来贴下我的配置文件config.yml配置了选项auth/token表示要token验证。这个流程确实需要好好读一下跟她的加密方式有很大关系version: 0.1log:fields:service: registrystorage:cache:blobdescriptor: redisfilesystem:rootdirectory: /var/lib/registryhttp:addr: :5000secret: randomstringsecrettls:certificate: /root/sslkeys/domain.crtkey: /root/sslkeys/domain.keyauth:token:realm: https://registry.tenxcloud.com:5001/authservice: test123.tenxcloud.com:5000issuer: qwertyuirootcertbundle: /root/sslkeys/domain.crt当然我是通过容器启动的v2把这个config volume进去的我的启动命令docker run -d -p 5000:5000 --restartalways --name registry -v pwd/sslkeys:/root/sslkeys -v pwd/config.yml:/etc/docker/registry/config.yml -v pwd/data:/var/lib/registry registry:2.1.1auth/token下的4个子选项都是必须配置的realm表示我的auth server地址service表示的registry的地址issuer是一串标示符随便写一下auth server加密的时候也需要配置同样的字符串。rootcertbundle配置一个秘钥对token进行加密。(我这里复用了我的tls token)当我们第一次未带token访问registry时会返回401并附带如下信息Www-Authenticate: Bearer realmtest123.tenxcloud.com:5000 ,servicetest123.tenxcloud.com:5000 scoperepository:husseingalal/hello:pushrealm和service就是前面说的scope表示的是我要做的操作repository代表镜像接着是镜像名字然后是pull或者是push或者二者都有知道了各个参数的功能就可以搭建我们的auth server了我从github下找到了一个项目https://github.com/cesanta/docker_auth用go语言写的其中的账号密码存储方式有写入文件ldap和google账号的。这个server实现了动态加载配置文件配置文件有变化这个server会进行安全的重启所以可以对文件动态添加账号密码。当然也可以自己写身份验证添加数据库等方式的只需要继承Authenticator这个interface就可以。添加起来很容易。身份验证后有权限控制acl并且我们也可以自定义权限控制继承Authorizer这个interface即可。前两项通过后就是生成token(这一部分这个项目已经封装好了不用改动)v2的token采用的JWT加密方式JWT分了三个部分headerpayload,signatureheader里面带的信息是token加密方式一般都是base64 payload里带的都是需要的基本信息user,权限过期时间还有前面说的issure 等等signature是headerpayload后用秘钥进行加密这个秘钥就是配置在registry里的rootcertbundle对应的秘钥。三部分通过 . 连接, 因为有秘钥加密保证了token信息不会被窜改这种加密方式保证了将权限验证和registry分离也 是安全的, 将token发送回daemon后daemon就可以带着token去正常访问registry了如果是rest api直接将其写成Bearer token就可以请求了。有疑问加站长微信联系(非本文作者)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费帮助建站国外seo网站

目录 6.1 绳结电子书:绳结1级概览正确打结打绳结绳结组成部分学习术语八字套结(双八字结)观看技术步骤双重单结(反手结绳耳)观看技术步骤骡子结(驮马结)观看技术步骤 6.1 绳结 电子书&#xff1…

网站开发前段和后端海南网站设计

资源 官方文档 https://developer.apple.com/search/?qmotion%20graph&typeDocumentation SensorKit 使应用程序能够访问选定的原始数据或系统从传感器处理的指标。 步骤信息加速度计或旋转速率数据用户手腕上手表的配置物理环境中的环境光有关用户日常通勤或旅行的详细…

你知道吗 网站怎样去推广自己的网店

读取打包到JAR中的文件:常见问题与解决方案 喝淡酒的时候,宜读李清照;喝甜酒时,宜读柳永;喝烈酒则大歌东坡词。其他如辛弃疾,应饮高梁小口;读放翁,应大口喝大曲;读李后主…

重庆玖玺国际做网站网站建设公司net2006

该模式属于结构型模式什么是门面模式?定义:门面模式(有时候也称为外观模式)是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。外部与子系统的通信是通过一个门面(Facade)对象进行。其…

房子装修网站上海人才招聘哪个网站好

1.Kafka的数据存储形式 一个主题由多个分区组成 一个分区由多个segment段组成 一个segment段由多个文件组成(log,index(稀疏索引),timeindex(根据时间做的索引)) 2.读数据的流程 …

网站建设费用如何做账务处理2_网站建设的一般步骤包含哪些?

文章目录 1. APP端抓包配置2. APP端抓包分析3. Web端抓包分析4. 爬虫代码实现 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】&#xff1a…

网站的市场如何制作沈阳京科医院男科

2 数据库环境说明 3 数据库的命名规则 4 逻辑设计 5 物理设计 5.1 表汇总 5.2 表结构设计 6 数据规划 6.1 表空间设计 6.2 数据文件设计 6.3 表、索引分区设计 6.4 优化方法 7 安全性设计 7.1 防止用户直接操作数据库 7.2 用户帐号加密处理 7.3 角色与权限控制 8 数据库管理与维…

深圳建设招标网站首页渭南网站建设网站排名优化

以下是我整理的前端、后端工程师在开发中经常使用到的API接口,希望能帮到大家~ 手机号码归属地:可根据手机号码查询其省市区、运营商区号行政区划代码等信息。 上亿条数据囊括最新的170、166、147等号段,更新及时、准确度高。空号检测&#…

建网站 3年服务器vs设置网站开发环境

Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术 一、需求描述二、部署Debezium集群和Oracle连接器三、安装Oracle数据库四、设置具有采集Oracle数据库数据权限的账号1.以系统管理员的身份连接到数据库实例2.创建表空…

做网站可以申请个体户么福州网络公司

Google官方出了一款App遍历工具App Crawler。 文档:应用抓取工具 | Android 开发者 | Android Developers App Crawler工具是Android Jetpack的一部分,它可自动的运行你的App,不需要编写或维护任何代码。 通过App Crawler运行App&…

沈阳市城乡建设部官方网站windows软件开发工具

SpringBoot文件上传 上传文件是互联网中常常应用的场景之一&#xff0c;最典型的情况就是上传头像等&#xff0c;今天就带着带着大家做一个 Spring Boot 上传文件的小案例。 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xml…

newDay02

1.大致复习一遍自己暑期学习过的Java知识,继续往下学了学数组的动态初始化和一些常见问题,并做了一些练习,完成了部分作业,继续背单词 2.新的作业还差不少,还是得继续写,抽出时间来学学Java 3.今天浪费的时间有点…

【OI 档案-2025】CSP 赛前集训记(初赛后+复赛)

复赛前 - 第一周(9.22 ~ 9.28) Day1 - 周一 斌斌感冒了 awa,这天只能晚自习坐大牢了。 Day2 - 周二 直接来模拟赛吗 0.0,直接从 lzm 搬运吗?有点意思,但是被薄纱,155pts,rk5,没救了。 小梦学习计网 枚举+模拟…

Git 从零到一:以 Gitee 为例的实战与可视化指南

这是一篇"开箱即用"的 Git 入门到进阶实战文。你将从安装、配置、SSH、创建远端仓库与本地初始化开始, 迅速掌握个人开发与团队协作的两种主流程;并结合真实案例(项目 IOT_LLM 与分支 master、heshuangxi…

金华网站建设方案咨询wordpress非法关键词

CloudCompare是一款功能强大的点云后处理软件,本文讲解CloudCompare中文版下载与安装方法。 文章目录 一、CloudCompare下载地址二、CloudCompare安装教程三、CloudCompare中文设置一、CloudCompare下载地址 官方下载地址:http://www.danielgm.net/cc/release/ 二、CloudComp…

代码随想录算法训练营第七天 |第454题.四数相加II、383. 赎金信、第15题. 三数之和

第454题.四数相加II 思路:因为是统计次数,不用考虑坐标和去重复,那我就可以把value值给想成该target出现的次数。先用两个数组构造哈希表,然后再用一个O(n*n)的双重循环,遍历剩下两个数组,用count统计出现次数。…

2018年公司做网站注意事项达人室内设计网注册

光伏电站 简介 每一篇文章开篇我都会写一个内容简介&#xff0c;一来梳理自己的写作思路&#xff0c;二来方便读者整体了解文章写作意图和脉络。本篇是新能源方面的开篇之作&#xff0c;我选取了介绍光伏电站基础知识&#xff0c;首先我们要了解光伏电站基础分类&#xff0c;然…

佛山做网站那家好佛山网约车驾驶员资格证网上报名

一、本文介绍 本文给大家带来的改进机制是2024-1月的最新成果DCNv4,其是DCNv3的升级版本,效果可以说是在目前的卷积中名列前茅了,同时该卷积具有轻量化的效果!一个DCNv4参数量下降越15Wparameters左右,。它主要通过两个方面对前一版本DCNv3进行改进:首先,它移除了空间聚…

fullpage做的网站php网站开发环境

本文软件由网友 zxc 推荐&#xff1b; 什么是 Cyber​​Chef ? Cyber​​Chef 是一款简单、直观的网络应用程序&#xff0c;用于在网络浏览器中执行各种“网络”操作。这些操作包括 XOR 和 Base64 等简单编码、AES、DES 和 Blowfish 等更复杂的加密、创建二进制和十六进制转储…