【編者的話】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(翻譯:
田浩浩 審校:李穎傑)