【编者的话】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
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*)
Delete a tag:
删除标签:
DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
Status check of registry:
registry状态检查:
GET /v1/_ping
Docker Hub API
Docker 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)/
2.删除用户仓库,命令以下:
DELETE /v1/repositories/(namespace)/(repo_name)/
3.更新用户仓库镜像,命令以下:
PUT /v1/repositories/(namespace)/(repo_name)/images
4.从仓库中下载镜像。以下:
GET /v1/repositories/(namespace)/(repo_name)/images
5.验证用户登陆,以下:
GET /v1/users
6.添加新用户,命令以下:
POST /v1/users
7.更新用户信息,以下:
PUT /v1/users/(username)/
如今,咱们已经走过了Docker API之旅的第一站,第二站是有关Docker OAuth以及Remote API的内容,咱们将在
Docker系列教程的下一篇见。
原文连接:
Ultimate Guide for Docker APIs(翻译:
田浩浩 审校:李颖杰)