-
1.version
-
2.pull
-
3.push
VERSION
GET /V2/ 获取registry版本号,一般用以测试私有registry是否运行正确
200 支持V2接口
401 Unauthorized 未授权,需要授权才可访问
404 Not Found 不支持V2接口
PULL
GET /v2/IMAGE_NAME/manifests/IMAGE_TAG 获取镜像manifests文件
得到manifests文件,其格式如下:
{
"name": IMAGE_NAME,
"tag": IMAGE_TAG,
"fsLayers": [
{
"blobSum": <digest>
},
...
]
],
"history": <v1 images>,
"signature": <JWS>
}
HEAD /v2/IMAGE_NAME/manifests/IMAGE_TAG 获取镜像manifests文件信息
200 OK
Content-Length: <length of manifest>
Docker-Content-Digest: <digest>
PUSH
POST /v2/IMAGE_NAME/blobs/uploads/ 开始上传
202 Accepted
Location: /v2/IMAGE_NAME/blobs/uploads/<uuid>
Range: bytes=0-<offset>
Content-Length: 0
Docker-Upload-UUID: <uuid>
POST /v2/IMAGE_NAME/blobs/uploads/UUID 上传镜像层[注意uuid由请求上传后响应的header中给出]
GET /v2/IMAGE_NAME/blobs/uploads/UUID 获取上传进度
PUT /v2/IMAGE_NAME/blobs/uploads/UUID?digest=DIGEST 上传完成[上传结束必须调用此接口]
DELETE /v2/IMAGE_NAME/blobs/uploads/UUID 取消上传
PATCH /v2/IMAGE_NAME/blobs/uploads/UUID 分片上传
分片上传参数
Content-Length: <size of chunk>
Content-Range: <start of range>-<end of range>
Content-Type: application/octet-stream
<Layer Chunk Binary Data>