本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自第七篇 Part 7: Ultimate Guide for Docker APIs。
该系列全部文章将参考其余学习资料翻译,也会加入本身的学习做为部分注解。若有错误,欢迎指正。docker
在之前的系列教程中,咱们已经探讨了 Docker 中不少很重要的组件,本篇文章咱们深刻 Docker:探讨 Docker API。json
值得注意的是,Docker 为了方便使用,提供了以下四种 API:ubuntu
本篇文章专门用来探讨 Docker Registry API、Docker Hub API 和 OAuth API。api
Docker Registry API 为了简化镜像和仓库的存储而设计的 REST API。这些 API 并不涉及用户帐户和用户认证。架构
取出镜像层:ide
GET /v1/images/(image_id)/layer
插入镜像层:学习
PUT /v1/images/(image_id)/layer
检索镜像:ui
GET /v1/images/(image_id)/json
检索镜像的根镜像:spa
GET /v1/images/(image_id)/ancestry
获取指定库的全部标签:翻译
GET /v1/repositories/(namespace)/(repository)/tags
获取指定库的指定标签:
GET /v1/repositories/(namespace)/(repository)/tags/(tag*)
删除标签:
DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
registry 状态检查:
GET /v1/_ping
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)/
更新镜像
PUT /v1/repositories/(namespace)/(repo_name)/images
获取镜像
GET /v1/repositories/(namespace)/(repo_name)/images
用户认证
GET /v1/users
建立新用户
POST /v1/users
更新用户信息
PUT /v1/users/(username)/
Docker API 已经讲了三个,并且都是 Docker Hub 架构相关的 API。下面两篇文章将专门讲 Docker Remote API,操做宿主机 Docker 服务端的 API。