镜像接口
获取用户拥有镜像概览
接口描述
返回当前用户的命名空间、镜像和版本数量概览。
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
signature是 256 位签名的十六进制表示,由 64 个小写十六进制字符组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1GET /v1/ccr/overview HTTP/1.1
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
无。
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| totalProjectCount | int | 总共命名空间数量 |
| privateProjectCount | int | 私有命名空间数量 |
| publicProjectCount | int | 共有命名空间数量 |
| totalRepoCount | int | 总共镜像数量 |
| privateRepoCount | int | 私有镜像数量 |
| publicRepoCount | int | 共有镜像数量 |
| totalTagCount | int | 总共版本数量 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1GET /v1/ccr/overview HTTP/1.1
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "totalProjectCount": 5,
3 "privateProjectCount": 4,
4 "publicProjectCount": 1,
5 "totalRepoCount": 1,
6 "privateRepoCount": 0,
7 "publicRepoCount": 1,
8 "totalTagCount": 1
9}
获取百度云镜像列表
接口描述
返回百度云镜像列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
signature是 256 位签名的十六进制表示,由 64 个小写十六进制字符组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1 GET /v1/ccr/repositories/bce HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| keyword | String | 否 | Query参数 | 查询关键字 |
| keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
| order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
| orderBy | String | 否 | Query参数 | 用于排序字段,支持repositoryId,repositoryName,projectName,updateTime,tagsCount,createTime |
| pageNo | int | 否 | Query参数 | 当前页 |
| pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | List | 结果列表 |
| orders | Json | 排序扩展信息,未使用时返回 null |
| order | String | 排序方式 |
| orderBy | String | 排序字段 |
| pageNo | int | 当前页 |
| pageSize | int | 每页记录数 |
| totalCount | int | 记录总数 |
| result[].repositoryId | Long | 镜像 ID |
| result[].repositoryName | String | 镜像名称 |
| result[].type | String | 镜像类型,如 public、private |
| result[].projectId | Long | 命名空间 ID |
| result[].projectName | String | 命名空间名称 |
| result[].description | String | 镜像描述 |
| result[].location | String | 区域 |
| result[].address | String | 镜像地址 |
| result[].pullCount | int | 拉取次数 |
| result[].startCount | int | 收藏数量 |
| result[].tagsCount | int | 版本数量 |
| result[].createTime | String | 创建时间 |
| result[].updateTime | String | 更新时间 |
| result[].dockerPullCmd | String | 拉取命令,可能为空 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/bce?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "result": [
3 {
4 "repositoryId": 138,
5 "repositoryName": "repo1",
6 "type": "public",
7 "projectId": 83,
8 "projectName": "test",
9 "description": "备注",
10 "location": "全局",
11 "address": "ccr.baidubce.com/test/repo1",
12 "pullCount": 28,
13 "startCount": 0,
14 "tagsCount": 2,
15 "createTime": "2020-03-03T04:16:24Z",
16 "updateTime": "2020-03-05T00:00:03Z",
17 "dockerPullCmd": "docker pull ccr.baidubce.com/test/repo1:latest"
18 }
19 ],
20 "orders": null,
21 "orderBy": "createTime",
22 "order": "asc",
23 "pageNo": 1,
24 "pageSize": 100,
25 "totalCount": 1
26}
获取用户镜像列表
接口描述
返回查询到用户镜像列表,包括私有和公有的镜像
请求结构
1 GET /v1/ccr/repositories/user HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| keyword | String | 否 | Query参数 | 查询关键字 |
| keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
| order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
| orderBy | String | 否 | Query参数 | 用于排序字段,支持repositoryId,repositoryName,projectName,updateTime,tagsCount,createTime(默认) |
| pageNo | int | 否 | Query参数 | 当前页 |
| pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | List | 结果列表 |
| orders | Json | 排序扩展信息,未使用时返回 null |
| order | String | 排序方式 |
| orderBy | String | 排序字段 |
| pageNo | int | 当前页 |
| pageSize | int | 每页记录数 |
| totalCount | int | 记录总数 |
| result[].repositoryId | Long | 镜像 ID |
| result[].repositoryName | String | 镜像名称 |
| result[].type | String | 镜像类型,如 public、private,未设置时可能返回 null |
| result[].projectId | Long | 命名空间 ID |
| result[].projectName | String | 命名空间名称 |
| result[].description | String | 镜像描述 |
| result[].location | String | 区域 |
| result[].address | String | 镜像地址 |
| result[].pullCount | int | 拉取次数 |
| result[].startCount | int | 收藏数量 |
| result[].tagsCount | int | 版本数量 |
| result[].createTime | String | 创建时间 |
| result[].updateTime | String | 更新时间 |
| result[].dockerPullCmd | String | 拉取命令,可能为空 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/user?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "result": [
3 {
4 "repositoryId": 138,
5 "repositoryName": "repo1",
6 "type": "public",
7 "projectId": 83,
8 "projectName": "test",
9 "description": "备注",
10 "location": "全局",
11 "address": "ccr.baidubce.com/test/repo1",
12 "pullCount": 28,
13 "startCount": 0,
14 "tagsCount": 2,
15 "createTime": "2020-03-03T04:16:24Z",
16 "updateTime": "2020-03-05T00:00:03Z",
17 "dockerPullCmd": null
18 }
19 ],
20 "orders": null,
21 "orderBy": "createTime",
22 "order": "asc",
23 "pageNo": 1,
24 "pageSize": 100,
25 "totalCount": 1
26}
获取Docker官方镜像列表
接口描述
返回查询到docker官方镜像列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
signature是 256 位签名的十六进制表示,由 64 个小写十六进制字符组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1 GET /v1/ccr/repositories/docker HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| keyword | String | 否 | Query参数 | 查询关键字 |
| keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
| order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
| orderBy | String | 否 | Query参数 | 用于排序字段,支持name(默认) |
| pageNo | int | 否 | Query参数 | 当前页 |
| pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | List | 结果列表 |
| orders | Json | 排序扩展信息,未使用时返回 null |
| order | String | 排序方式 |
| orderBy | String | 排序字段 |
| pageNo | int | 当前页 |
| pageSize | int | 每页记录数 |
| totalCount | int | 记录总数 |
| result[].name | String | 镜像名称 |
| result[].description | String | 描述 |
| result[].projectName | String | 命名空间名称 |
| result[].address | String | Docker Hub 镜像地址 |
| result[].dockerPullCmd | String | 拉取命令 |
| result[].iconBosAddress | String | 镜像图标地址,未配置时返回 null |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/docker?keyword=&keywordType=&pageNo=1&pageSize=2&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
"result": [ { "name": "busybox", "description": "Busybox base image.", "projectName": "library", "dockerPullCmd": "docker pull busybox", "address": "https://hub.docker.com//busybox", "iconBosAddress": null }, { "name": "nginx", "description": "Official build of Nginx.", "projectName": "library", "dockerPullCmd": "docker pull nginx", "address": "https://hub.docker.com//nginx", "iconBosAddress": null } ], "orders": null, "orderBy": "name", "order": "asc", "pageNo": 1, "pageSize": 2, "totalCount": 162 }
获取镜像详情
接口描述
返回查询到镜像详情
请求结构
1 GET /v1/ccr/repositories?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query参数 | 镜像仓库名字 |
| projectId | long | 是 | Query参数 | 命名空间ID |
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| brief | Object | 镜像概览信息 |
| brief.repositoryId | Long | 镜像 ID |
| brief.repositoryName | String | 镜像名称 |
| brief.type | String | 镜像类型,如 public、private |
| brief.projectId | Long | 命名空间 ID |
| brief.projectName | String | 命名空间名称 |
| brief.description | String | 镜像描述 |
| brief.location | String | 区域 |
| brief.address | String | 镜像地址 |
| brief.pullCount | int | 拉取次数 |
| brief.startCount | int | 收藏数量 |
| brief.tagsCount | int | 版本数量 |
| brief.createTime | String | 创建时间 |
| brief.updateTime | String | 更新时间 |
| brief.dockerPullCmd | String | 镜像拉取命令,可能为空 |
| tags | List | 镜像版本列表 |
| tags[].createdBy | String | 创建方式 |
| tags[].digest | String | 镜像摘要 |
| tags[].name | String | 镜像版本名称 |
| tags[].size | Long | 镜像版本大小,单位为字节 |
| tags[].createTime | String | 创建时间 |
| tags[].updateTime | String | 更新时间 |
| tags[].dockerPullCmd | String | 版本拉取命令 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories?repoName=nginx-alpine-go&projectId=5 HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "brief": {
3 "address": "ccr.baidubce.com/poc/nginx-alpine-go",
4 "createTime": "2020-02-29T03:17:48Z",
5 "description": "",
6 "dockerPullCmd": null,
7 "location": "全局",
8 "projectId": 5,
9 "projectName": "poc",
10 "pullCount": 8,
11 "repositoryId": 2,
12 "repositoryName": "nginx-alpine-go",
13 "startCount": 0,
14 "tagsCount": 1,
15 "type": "private",
16 "updateTime": "2020-03-04T03:12:40Z"
17 },
18 "tags": [
19 {
20 "createTime": "2019-06-19T03:07:42Z",
21 "createdBy": "Docker Client",
22 "digest": "sha256:7d08c36fbb6b8488c7b4968fadf0a68289d7b002342f5f9707d683052d636690",
23 "dockerPullCmd": "docker pull ccr.baidubce.com/poc/nginx-alpine-go:latest",
24 "name": "latest",
25 "size": 10240622,
26 "updateTime": "2020-02-29T12:28:59Z"
27 }
28 ]
29}
更新镜像信息
接口描述
更新指定镜像仓库的描述信息。
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
signature是 256 位签名的十六进制表示,由 64 个小写十六进制字符组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
PUT /v1/ccr/repositories?repoName={repoName}&projectId={projectId} HTTP/1.1 Host: ccr.baidubce.com Authorization: authorization string x-bce-date: yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query参数 | 镜像仓库名字 |
| projectId | long | 是 | Query参数 | 命名空间ID |
| description | String | 是 | Body参数 | 描述 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| action | String | 请求动作 |
| targetName | String | 请求目标 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
PUT /v1/ccr/repositories?repoName=nginx-alpine-go&projectId=5 HTTP/1.1 Host: ccr.baidubce.com Authorization: authorization string x-bce-date: yyyy-MM-dd'T'HH:mm:ss'Z'
{ "description": "更新镜像描述" }
响应示例
1{
2 "action": "update repository",
3 "targetName": "nginx-alpine-go"
4}
删除镜像(支持批量删除)
接口描述
删除指定镜像仓库下的一个或多个镜像版本。
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
1 DELETE /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
|---|---|---|---|---|
| repoName | String | 是 | Query 参数 | 镜像仓库名称 |
| projectId | Long | 是 | Query 参数 | 命名空间 ID |
| tagNames | List |
是 | Body 参数 | 需要删除的镜像版本名称列表 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| failList | List |
删除失败的版本名称列表 |
| result | boolean | 是否全部删除成功 |
错误码
| 错误码 | 错误描述 | HTTP状态码 | 中文解释 |
|---|---|---|---|
| Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
1 DELETE /v1/ccr/repositories/tags?repoName=repoName&projectId=1 HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
5["tag2"]
响应示例
1{
2 "failList": [],
3 "result": true
4}
评价此篇文章
