Flux7 Docker 系列教程(七):Docker API

本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自第七篇 Part 7: Ultimate Guide for Docker APIs
该系列所有文章将参考其他学习资料翻译,也会加入自己的学习作为部分注解。如有错误,欢迎指正。

在以前的系列教程中,我们已经探讨了 Docker 中很多很重要的组件,本篇文章我们深入 Docker:探讨 Docker API。

值得注意的是,Docker 为了方便使用,提供了如下四种 API:

  1. Docker Registry API
  2. Docker Hub API
  3. Docker OAuth API
  4. Docker Remote API

本篇文章专门用来探讨 Docker Registry API、Docker Hub API 和 OAuth API。

Docker Registry API

Docker Registry API 为了简化镜像和仓库的存储而设计的 REST API。这些 API 并不涉及用户账户和用户认证。

取出镜像层:

GET /v1/images/(image_id)/layer

clipboard.png

插入镜像层:

PUT /v1/images/(image_id)/layer

clipboard.png

检索镜像:

GET /v1/images/(image_id)/json

检索镜像的根镜像:

GET /v1/images/(image_id)/ancestry

获取指定库的所有标签:

GET /v1/repositories/(namespace)/(repository)/tags

clipboard.png

获取指定库的指定标签:

GET /v1/repositories/(namespace)/(repository)/tags/(tag*)

删除标签:

DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)

clipboard.png

registry 状态检查:

GET /v1/_ping

clipboard.png

Docker Hub API

Docker Hub API 是为 Docker Hub 设计的 REST API。Docker Hub(也就是 Index)是使用校验和公共 namespaces 的方式来存储账户信息、认证账户、进行账户授权。API同时也允许操作相关的用户仓库和 library 仓库。

特殊的仓库的操作

创建新的仓库

PUT /v1/repositories/(repo_name)/

删除现有仓库

DELETE /v1/repositories/(repo_name)/

更新仓库镜像

PUT /v1/repositories/(repo_name)/images

获取仓库镜像

GET /v1/repositories/(repo_name)/images

认证

PUT /v1/repositories/(repo_name)/auth

以上都是特殊仓库的操作,下面是对普通用户开放的 API。

特殊的 library 仓库和用户仓库的区别在于 library 仓库是官方仓库,可以直接使用 ubuntu 这种名字做 repo 的名字,而译者就只能使用 qiuker521/ubuntu 作为 repo 的名字。

普通用户的操作

创建新的用户仓库

PUT /v1/repositories/(namespace)/(repo_name)/

删除现有仓库

DELETE /v1/repositories/(namespace)/(repo_name)/

clipboard.png

更新镜像

PUT /v1/repositories/(namespace)/(repo_name)/images

clipboard.png

获取镜像

GET /v1/repositories/(namespace)/(repo_name)/images

clipboard.png

用户认证

GET /v1/users

clipboard.png

创建新用户

POST /v1/users

clipboard.png

更新用户信息

PUT /v1/users/(username)/

总结

Docker API 已经讲了三个,而且都是 Docker Hub 架构相关的 API。下面两篇文章将专门讲 Docker Remote API,操作宿主机 Docker 服务端的 API。

阅读 3.8k

推荐阅读
大舒的博客
用户专栏

我都不写PHP了你们还挤兑我。。

139 人关注
36 篇文章
专栏主页