DockerRegistryV2api本篇总结kerregistryv2api描述和使用Word文档格式.docx
- 文档编号:14935598
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:15
- 大小:19.04KB
DockerRegistryV2api本篇总结kerregistryv2api描述和使用Word文档格式.docx
《DockerRegistryV2api本篇总结kerregistryv2api描述和使用Word文档格式.docx》由会员分享,可在线阅读,更多相关《DockerRegistryV2api本篇总结kerregistryv2api描述和使用Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
Fetchthetagsundertherepositoryidentifiedbyname.
/manifests/<
referevce>
Manifest
Fetchthemanifestidentifiedbynameandreferencewherereferencecanbeatagordigest.AHEADrequestcanalsobeissuedtothisendpointtoobtainresourceinformationwithoutreceivingalldata.
put
Putthemanifestidentifiedbynameandreferencewherereferencecanbeatagordigest.
delete
reference>
Deletethemanifestidentifiedbynameandreference.Notethatamanifestcanonlybedeletedbydigest.
/blobs/<
digest>
Blob
Retrievetheblobfromtheregistryidentifiedbydigest.AHEADrequestcanalsobeissuedtothisendpointtoobtainresourceinformationwithoutreceivingalldata.
DELETE
Deletetheblobidentifiedbynameanddigest
POST
/blobs/uploads/
InitiateBlobUpload
Initiatearesumableblobupload.Ifsuccessful,anuploadlocationwillbeprovidedtocompletetheupload.Optionally,ifthedigestparameterispresent,therequestbodywillbeusedtocompletetheuploadinasinglerequest.
/blobs/uploads/<
uuid>
BlobUpload
Retrievestatusofuploadidentifiedbyuuid.Theprimarypurposeofthisendpointistoresolvethecurrentstatusofaresumableupload.
PATCH
Uploadachunkofdataforthespecifiedupload.
PUT
Completetheuploadspecifiedbyuuid,optionallyappendingthebodyasthefinalchunk.
Canceloutstandinguploadprocesses,releasingassociatedresources.Ifthisisnotcalled,theunfinisheduploadswilleventuallytimeout.
/v2/_catalog
Catalog
Retrieveasorted,jsonlistofrepositoriesavailableintheregistry.
名词解释
∙
∙repositoryname(存储库名词)
存储库指在库中存储的镜像。
/project/redis:
latest
o
o语法:
1.经典存储库名称由2级路径构成,每级路径小于30个字符,V2的api不强制要求这样的格式。
2.每级路径名至少有一个小写字母或者数字,使用句号,破折号和下划线分割。
更严格来说,它必须符合正则表达式:
[a-z0-9]+[._-][a-z0-9]+)
3.多级路径用/分隔
4.存储库名称总长度(包括/)不能超过256个字符
∙digest(摘要)
摘要是镜像每个层的唯一标示。
虽然算法允许使用任意算法,但是为了兼容性应该使用sha256。
例如sha256:
6c3c624b58dbbcd3c0dd82b4c53f04194d1247c6eebdaab7c610cf7d66709b3b
o生成摘要的伪代码
oimporthashlib
oC='
asmallstring'
oB=hashlib.sha256(C)
oD='
sha256:
'
+B.hexdigest()
镜像pull过程
镜像由一个json清单和层叠文件组成,pull镜像的过程就是检索这两个组件的过程。
拉去镜像的第一步就是获取清单,清单由下面几个字段组成:
registry:
5000/v2/redis/manifests/latest(获取redis:
latest清单文件)
字段
描述
name
镜像名称
tag
镜像当前版本的tag
fsLayers
层描述列表(包括摘要)
signature
一个JWS签名,用来验证清单内容
当获取清单之后,客户端需要验证前面(signature),以确保名称和fsLayers层是有效的。
确认后,客户端可以使用digest去下载各个fs层。
在V2api中,层存储在blobs中已digest作为键值.
1.首先拉取镜像清单(pullinganImageManifest)
$HEAD/v2/<
image/manifests/<
#检查镜像清单是否存在
$GET/v2/<
#拉取镜像清单
提示:
reference可是是tag或者是digest
2.开始拉取每个层(pullingaLayer)
digest是镜像每个fsLayer层的唯一标识。
存在于清单的fsLayers里面。
Push镜像过程
推送镜像和拉取镜像过程相反,先推各个层到registry仓库,然后上传清单.
1.
2.PushingaLayer(上传层)
3.
4.上传层分为2步,第一步使用post请求在registry仓库启动上传服务,
返回一个url,这个url用来上传数据和检查状态。
o首先ExistingLayers(检查层是否存在)
$HEAD/v2/image/blobs/<
若返回200OK则表示存在,不用上传
o开始上传服务(StartingAnUpload)
$POST/v2/image/blobs/uploads/
如果post请求返回202accepted,一个url会在location字段返回.
202Accepted
Location:
/v2/\<
/blobs/uploads/\<
Range:
bytes=0-<
offset>
Content-Length:
0
Docker-Upload-UUID:
<
#可以用来查看上传状态和实现断点续传
o开始上传层(UplogingtheLayer)
2.上传进度(UploadProgress)
4.
$GET/v2/<
返回
204NoContent
/v2/<
name>
5.整块上传(MonolithicUpload)
o>
PUT/v2/<
?
digest=\<
\<
sizeoflayer>
Content-Type:
application/octet-stream
<
LayerBinaryData>
3.分块上传(ChunkedUpload)
>
PATCH/v2/\<
sizeofchunk>
Content-Range:
startofrange>
-\<
endofrange>
LayerChunkBinaryData>
如果服务器不接受这个块,则返回:
416RequestedRangeNotSatisfiable
0-<
lastvalidrange>
成功则返回:
/blobs/upload
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DockerRegistryV2api 本篇 总结 kerregistryv2api 描述 使用
链接地址:https://www.bdocx.com/doc/14935598.html