本系列教程翻譯自 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。