分享

Docker入门教程(七)Docker API

本帖最后由 nettman 于 2015-1-7 23:06 编辑

问题导读

1.Docker提供了很多的API以便用户使用,这些API包含哪些方面?
2.特殊的library仓库都有哪些需要管理员权限的命令?



















【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和Docker Hub API。

纵观我们的Docker系列教程,我们已经讨论了很多重要的Docker组件与命令。在本文中,我们将继续深入学习Docker:剖析Docker APIs。

Docker提供了很多的API以便用户使用。这些API包含四个方面:
  • Docker Registry API
  • Docker Hub API
  • Docker OAuth API
  • Docker Remote API

具体到这篇文章,我们将讨论Docker Registry API以及Docker Hub API。

Docker Registry API

Docker Registry API是Docker Registry的REST API,它简化了镜像和仓库的存储。该API不能访问用户帐户或者获得授权。你可以阅读Docker系列教程的第四章,以了解更多有关Registry的类型(译者注:Docker中有几种不同的Registry)。

Extract image layer:取出镜像层:
GET /v1/images/(image_id)/layer
c3fa5338078b6382860aa192cb2a149e.jpg

Insert image layer:插入镜像层:
PUT /v1/images/(image_id)/layer

Retrieve an image:检索镜像:
GET /v1/images/(image_id)/json

Retrieve roots of an image:检索根镜像:
GET /v1/images/(image_id)/ancestry

Obtain all tags or specific tag of a repository:获取库里所有的标签或者指定标签:
GET /v1/repositories/(namespace)/(repository)/tags

或者
GET /v1/repositories/(namespace)/(repository)/tags/(tag*)
fbc70362835df0d928037e1c48d5a452.png

Delete a tag:删除标签:
DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
081c691cc8c4672f55b8e9a77300c9ff.jpg

Status check of registry:registry状态检查:
GET /v1/_ping
0c2c1bbfc56599290e5e87c2d6627ddd.png

Docker Hub APIDocker Hub API是Docker Hub的一个简单的REST API。再提醒下,请参考Docker系列教程的第四篇文章了解Docker Hub。Docker Hub 通过管理校验和(checksums)以及公共命名空间(public namespaces)来控制着用户帐户和授权。该API还支持有关用户仓库和library仓库库的操作。

首先,让我们来看看特殊的library仓库(需要管理员权限)的命令:
1. 创建一个新的仓库。使用以下命令可以创建新的library仓库:
PUT /v1/repositories/(repo_name)/
其中,repo_name是新的仓库名称。
2. 删除已经存在的仓库。命令如下:
DELETE /v1/repositories/(repo_name)/
其中,repo_name是要删除仓库的名称。
3. 更新仓库镜像。命令如下:
PUT /v1/repositories/(repo_name)/images
4. 从仓库中获取镜像。命令如下:
GET /v1/repositories/(repo_name)/images
5. 授权。使用Token获取仓库授权,如下:
PUT /v1/repositories/(repo_name)/auth
接下来,让我们来看看用户仓库的命令。library仓库与用户仓库命令之间的主要区别是命名空间的使用。

1.创建用户仓库。命令如下:
PUT /v1/repositories/(namespace)/(repo_name)/
df7fd7439120cdf59b7a206557b3525c.png

2.删除用户仓库,命令如下:
DELETE /v1/repositories/(namespace)/(repo_name)/
b5392c054bf4b1e6e2d71cbd692a3d6b.png

3.更新用户仓库镜像,命令如下:
PUT /v1/repositories/(namespace)/(repo_name)/images
a59d0b89aecec2bba4ef2082ae2c4ba6.png

4.从仓库中下载镜像。如下:
GET /v1/repositories/(namespace)/(repo_name)/images
7a6c3bc989f3b256bcfd0c2a5ff82867.png

5.验证用户登录,如下:
GET /v1/users
0cecf1ebf42901f88ccc951362362452.png

6.添加新用户,命令如下:
POST /v1/users
7.更新用户信息,如下:
PUT /v1/users/(username)/

现在,我们已经走过了Docker API之旅的第一站,第二站将是有关Docker OAuth以及Remote API,我们在Docker系列教程的下一篇见。




相关文章




Docker入门教程(二)命令

Docker入门教程(三)DockerFile

Docker入门教程(四)Docker Registry

Docker入门教程(五)Docker安全

Docker入门教程(六)另外的15个Docker命令


Docker入门教程(八)Docker Remote API






欢迎加入about云群90371779322273151432264021 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条