跳转至

Docker 镜像API

本章节聚焦于Docker Engine API中的镜像管理接口,详细介绍了如何通过API进行镜像的拉取、推送、构建、删除等操作。与其他章节相比,本章节专注于API层面的镜像管理,而非命令行工具或Dockerfile的使用。

镜像拉取与推送

镜像拉取

通过API从远程仓库拉取镜像的步骤如下:

  1. 请求URLPOST /images/create
  2. 请求参数
  3. fromImage:指定要拉取的镜像名称。
  4. tag:指定镜像的标签,默认为latest
  5. 示例请求
    POST /images/create?fromImage=ubuntu&tag=20.04
    

镜像推送

通过API将本地镜像推送到远程仓库的步骤如下:

  1. 请求URLPOST /images/{name}/push
  2. 请求参数
  3. name:指定要推送的镜像名称。
  4. tag:指定镜像的标签。
  5. 示例请求
    POST /images/myimage:1.0/push
    

镜像构建

从Dockerfile构建镜像

通过API从Dockerfile构建镜像的步骤如下:

  1. 请求URLPOST /build
  2. 请求参数
  3. dockerfile:指定Dockerfile的内容。
  4. t:指定构建后的镜像名称和标签。
  5. 示例请求
    POST /build?t=myimage:1.0
    

从Git仓库构建镜像

通过API从Git仓库构建镜像的步骤如下:

  1. 请求URLPOST /build
  2. 请求参数
  3. remote:指定Git仓库的URL。
  4. t:指定构建后的镜像名称和标签。
  5. 示例请求
    POST /build?remote=https://github.com/user/repo.git&t=myimage:1.0
    

镜像查询与删除

镜像查询

通过API查询镜像列表和镜像详情的步骤如下:

  1. 请求URL
  2. 查询镜像列表:GET /images/json
  3. 查询镜像详情:GET /images/{name}/json
  4. 示例请求
    GET /images/json
    GET /images/myimage:1.0/json
    

镜像删除

通过API删除镜像的步骤如下:

  1. 请求URLDELETE /images/{name}
  2. 请求参数
  3. name:指定要删除的镜像名称。
  4. 示例请求
    DELETE /images/myimage:1.0
    

镜像标签管理

打标签

通过API为镜像打标签的步骤如下:

  1. 请求URLPOST /images/{name}/tag
  2. 请求参数
  3. repo:指定新的镜像名称。
  4. tag:指定新的标签。
  5. 示例请求
    POST /images/myimage:1.0/tag?repo=mynewimage&tag=2.0
    

删除标签

通过API删除镜像标签的步骤如下:

  1. 请求URLDELETE /images/{name}
  2. 请求参数
  3. name:指定要删除的镜像名称和标签。
  4. 示例请求
    DELETE /images/mynewimage:2.0
    

镜像导出与导入

镜像导出

通过API将镜像导出为tar文件的步骤如下:

  1. 请求URLGET /images/{name}/get
  2. 请求参数
  3. name:指定要导出的镜像名称。
  4. 示例请求
    GET /images/myimage:1.0/get
    

镜像导入

通过API将tar文件导入为本地镜像的步骤如下:

  1. 请求URLPOST /images/load
  2. 请求参数
  3. file:指定要导入的tar文件。
  4. 示例请求
    POST /images/load
    

镜像历史记录

通过API获取镜像的构建历史记录的步骤如下:

  1. 请求URLGET /images/{name}/history
  2. 请求参数
  3. name:指定要查询的镜像名称。
  4. 示例请求
    GET /images/myimage:1.0/history
    

镜像签名与验证

镜像签名

通过API对镜像进行签名的步骤如下:

  1. 请求URLPOST /images/{name}/sign
  2. 请求参数
  3. name:指定要签名的镜像名称。
  4. 示例请求
    POST /images/myimage:1.0/sign
    

镜像验证

通过API对镜像进行验证的步骤如下:

  1. 请求URLPOST /images/{name}/verify
  2. 请求参数
  3. name:指定要验证的镜像名称。
  4. 示例请求
    POST /images/myimage:1.0/verify