Docker入门教程(七)Docker API

【编者的话】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 APIDocker Registry API是Docker Registry的REST API,它简化了镜像和仓库的存储。该API不能访问用户帐户或者获得授权。你可以阅读Docker系列教程的第四章,以了解更多有关Registry的类型(译者注:Docker中有几种不同的Registry)。##Extract image layer:取出镜像层:```GET /v1/images/(image_id)/layer```
get-image-layer.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*)```
docker-get-all-tags.png
##Delete a tag:删除标签:```DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)```
delete-a-tag.jpg
##Status check of registry:registry状态检查:```GET /v1/_ping```
registry-ping.png
#Docker Hub APIDocker Hub API是Docker Hub的一个简单的REST API。再提醒一下,请参考Docker系列教程的第四篇文章了解Docker Hub。Docker Hub 通过管理校验(checksums)以及公共命名空间(public namespaces)来控制着用户帐户和授权。该API还支持有关用户仓库和library仓库的操作。首先,让我们来看看特殊的library仓库(需要管理员权限)的命令:[list=1][]创建一个新的仓库。使用以下命令可以创建新的library仓库:[/]```PUT /v1/repositories/(repo_name)/```其中,`repo_name`是新的仓库名称。[list=1][]删除已经存在的仓库。命令如下:[/]```DELETE /v1/repositories/(repo_name)/```其中,`repo_name`是要删除的仓库名称。[list=1][]更新仓库镜像。命令如下:[/]```PUT /v1/repositories/(repo_name)/images```[list=1][]从仓库中获取镜像。命令如下:[/]```GET /v1/repositories/(repo_name)/images```[list=1][]授权。使用Token获取仓库授权,如下:[/]``` PUT /v1/repositories/(repo_name)/auth ``` 接下来,让我们来看看用户仓库的命令。library仓库与用户仓库命令之间的主要区别是命名空间的使用。 1.创建用户仓库。命令如下: ``` PUT /v1/repositories/(namespace)/(repo_name)/ ```
create-user.png
2.删除用户仓库,命令如下: ``` DELETE /v1/repositories/(namespace)/(repo_name)/ ```
docker-delete-a-repo.png
3.更新用户仓库镜像,命令如下: ``` PUT /v1/repositories/(namespace)/(repo_name)/images ```
docker-update-image.png
4.从仓库中下载镜像。如下: ``` GET /v1/repositories/(namespace)/(repo_name)/images ```
docker-get-user-images.png
5.验证用户登录,如下: ``` GET /v1/users ```
docker-user-login.png
6.添加新用户,命令如下: ``` POST /v1/users ``` 7.更新用户信息,如下: ``` PUT /v1/users/(username)/ ``` 现在,我们已经走过了Docker API之旅的第一站,第二站是有关Docker OAuth以及Remote API的内容,我们将在Docker系列教程的下一篇见。 原文链接:Ultimate Guide for Docker APIs(翻译:田浩浩 审校:李颖杰) =========================== 译者介绍 田浩浩悉尼大学USYD硕士研究生,目前在珠海从事Android应用开发工作。业余时间专注Docker的学习与研究,希望通过DockerOne把最新最优秀的译文贡献给大家,与读者一起畅游Docker的海洋。 ----------------------------------------- Docker入门教程(一)介绍 Docker入门教程(二)命令 Docker入门教程(三)DockerFile Docker入门教程(四)Docker Registry Docker入门教程(五)Docker安全 Docker入门教程(六)另外的15个Docker命令 Docker入门教程(七)Docker API Docker入门教程(八)Docker Remote API Docker入门教程(九)10个镜像相关的API

0 个评论

要回复文章请先登录注册