zoukankan      html  css  js  c++  java
  • 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
    get-image-layer.jpg


    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*)
    docker-get-all-tags.png

    Delete a tag:

    删除标签:
    DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
    delete-a-tag.jpg

    Status check of registry:

    registry状态检查:
    GET /v1/_ping
    registry-ping.png

    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)/
    create-user.png

    2.删除用户仓库,命令如下:
    DELETE /v1/repositories/(namespace)/(repo_name)/
    docker-delete-a-repo.png

    3.更新用户仓库镜像,命令如下:
    PUT /v1/repositories/(namespace)/(repo_name)/images
    docker-update-image.png

    4.从仓库中下载镜像。如下:
    GET /v1/repositories/(namespace)/(repo_name)/images
    docker-get-user-images.png

    5.验证用户登录,如下:
    GET /v1/users
    docker-user-login.png

    6.添加新用户,命令如下:
    POST /v1/users
    7.更新用户信息,如下:
    PUT /v1/users/(username)/

    现在,我们已经走过了Docker API之旅的第一站,第二站是有关Docker OAuth以及Remote API的内容,我们将在Docker系列教程的下一篇见。

    原文链接:Ultimate Guide for Docker APIs(翻译:田浩浩 审校:李颖杰)
  • 相关阅读:
    “图”以致用组
    水体频率小组
    2021年云开发组三等奖作品展示
    毫秒级百万数据分页存储过程[欢迎转载]
    SQL Server 数据备份存储过程[原创]
    博客园居然被中国电信提醒有病毒,有图为证
    网络文件夹例子
    小技巧:在DropDownList数据绑定前插入固定文字
    ASP.NET整合Discuz!NT3.5实例说明(含用户登录、评论等)
    Visual Studio 2008的性能改进以及十大新功能(转)
  • 原文地址:https://www.cnblogs.com/xiaojikuaipao/p/5255842.html
Copyright © 2011-2022 走看看