Docker入门教程(七)Docker API

本文讲的是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 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(翻译:田浩浩 审校:李颖杰)

===========================
译者介绍
田浩浩,悉尼大学USYD硕士研究生,目前在珠海从事Android应用开发工作。业余时间专注Docker的学习与研究,希望通过DockerOne把最新最优秀的译文贡献给大家,与读者一起畅游Docker的海洋。

原文发布时间为:2014-12-30

本文作者:田浩浩

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:Docker入门教程(七)Docker API

时间: 2024-08-07 22:56:02

Docker入门教程(七)Docker API的相关文章

什么是docker Docker入门教程第一篇_docker

Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的东西已经很多了.不过本文探讨了Docker的特点.特性.原理,还介绍了具有中国特色的安装测试过程,另外还谈到了Docker的社区生态和Dockerfile,并使用Dockerfile构建一个nginx环境. 缘起 在几个月前听说Docker,但是一直没有时间去研究,前一段时间趁着azure免费试用,赶紧实验一下,但是卡在了ubuntu基础镜像的下载上(由于国内网络的特殊原因),所以也就搁浅了,这里把经验和体会分享一下. Doc

Docker入门教程(八)Docker Remote API

本文讲的是Docker入门教程(八)Docker Remote API,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote API. 在Docker系列教程的上一篇文章中,我们学习了Docker Hub 以及 Docker Registry API.在本文中,让我们来看看Docker Remote API. Docker Remote API Docker Remote API是一个取代远程命令行界面(rcl

Docker入门教程(九)10个镜像相关的API

本文讲的是Docker入门教程(九)10个镜像相关的API,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote API. 在Docker系列教程的上一篇文章中,我们讨论了Docker Remote API,并具体学习了有关容器的命令.在这篇文章中,我们将讨论有关镜像的命令. 创建镜像 镜像可以通过以下两种方式来创建: 从Registry中提取 导入镜像 POST /images/create 截图示

Docker安装和基础用法 Docker入门教程第二篇_docker

本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 1. 安装 1.1 在 Ubuntu 14.04 上安装 Docker 前提要求: 内核版本必须是3.10或者以上 依次执行下面的步骤: sudo apt-get update sudo apt

Docker入门教程(四)Docker Registry

本文讲的是Docker入门教程(四)Docker Registry,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件

Docker入门教程(五)Docker安全

本文讲的是Docker入门教程(五)Docker安全,[编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通过阅读本文快速了解. 我们必须高度重视开源软件的安全问题,当开发者在使用Docker时,从本地构建应用程序到生产环境部署是没有任何差异的(译者注:作者的言外之意是更应该重视Docker的安全问题).当Docker被越来越多的平台使用的时候,我们需要严格保证Docker作为一个项目或者平台的

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

本文讲的是Docker入门教程(六)另外的15个Docker命令,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章中我们就介绍了一些基本的Docker命令,本文过后,你将会接触到所有的Docker常用命令.努力学习吧. 在之前的文章中,我们介绍了15个Docker命令,并分享了它们的实践经验.在这篇文章中,我们将学习另外的15个Docker命令.它们分别是: daemon: Docker daemon

Docker入门教程(三)Dockerfile

本文讲的是Docker入门教程(三)Dockerfile,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOne目前在代码高亮部分还有些Bug,我们会尽快修复,目前在代码部分有会些字符会被转义. 在Docker系列教程的上一篇文章中,我们介绍了15个Docker命令,你应该对Docker有个大致的了解了.那15个命令在手动创建镜像时会用到,它们涵盖了镜像的创建.提交.搜索.pull和push的功能

Docker入门教程(二)命令

本文讲的是Docker入门教程(二)命令,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,知道了它是如何工作以及如何安装的.在这篇文章中,我们将学习15个Docker命令,并通过实践来学习它是如何工作的. 首先,让我们通过下面的命令来检查Docker的安装是否正确: docker info  如果没有找到这条命令,则表示