Docker 镜像API
本章节聚焦于Docker Engine API中的镜像管理接口,详细介绍了如何通过API进行镜像的拉取、推送、构建、删除等操作。与其他章节相比,本章节专注于API层面的镜像管理,而非命令行工具或Dockerfile的使用。
镜像拉取与推送
镜像拉取
通过API从远程仓库拉取镜像的步骤如下:
- 请求URL:
POST /images/create - 请求参数:
fromImage:指定要拉取的镜像名称。tag:指定镜像的标签,默认为latest。
- 示例请求:
POST /images/create?fromImage=ubuntu&tag=20.04
镜像推送
通过API将本地镜像推送到远程仓库的步骤如下:
- 请求URL:
POST /images/{name}/push - 请求参数:
name:指定要推送的镜像名称。tag:指定镜像的标签。
- 示例请求:
POST /images/myimage:1.0/push
镜像构建
从Dockerfile构建镜像
通过API从Dockerfile构建镜像的步骤如下:
- 请求URL:
POST /build - 请求参数:
dockerfile:指定Dockerfile的内容。t:指定构建后的镜像名称和标签。
- 示例请求:
POST /build?t=myimage:1.0
从Git仓库构建镜像
通过API从Git仓库构建镜像的步骤如下:
- 请求URL:
POST /build - 请求参数:
remote:指定Git仓库的URL。t:指定构建后的镜像名称和标签。
- 示例请求:
POST /build?remote=https://github.com/user/repo.git&t=myimage:1.0
镜像查询与删除
镜像查询
通过API查询镜像列表和镜像详情的步骤如下:
- 请求URL:
- 查询镜像列表:
GET /images/json - 查询镜像详情:
GET /images/{name}/json
- 查询镜像列表:
- 示例请求:
GET /images/json GET /images/myimage:1.0/json
镜像删除
通过API删除镜像的步骤如下:
- 请求URL:
DELETE /images/{name} - 请求参数:
name:指定要删除的镜像名称。
- 示例请求:
DELETE /images/myimage:1.0
镜像标签管理
打标签
通过API为镜像打标签的步骤如下:
- 请求URL:
POST /images/{name}/tag - 请求参数:
repo:指定新的镜像名称。tag:指定新的标签。
- 示例请求:
POST /images/myimage:1.0/tag?repo=mynewimage&tag=2.0
删除标签
通过API删除镜像标签的步骤如下:
- 请求URL:
DELETE /images/{name} - 请求参数:
name:指定要删除的镜像名称和标签。
- 示例请求:
DELETE /images/mynewimage:2.0
镜像导出与导入
镜像导出
通过API将镜像导出为tar文件的步骤如下:
- 请求URL:
GET /images/{name}/get - 请求参数:
name:指定要导出的镜像名称。
- 示例请求:
GET /images/myimage:1.0/get
镜像导入
通过API将tar文件导入为本地镜像的步骤如下:
- 请求URL:
POST /images/load - 请求参数:
file:指定要导入的tar文件。
- 示例请求:
POST /images/load
镜像历史记录
通过API获取镜像的构建历史记录的步骤如下:
- 请求URL:
GET /images/{name}/history - 请求参数:
name:指定要查询的镜像名称。
- 示例请求:
GET /images/myimage:1.0/history
镜像签名与验证
镜像签名
通过API对镜像进行签名的步骤如下:
- 请求URL:
POST /images/{name}/sign - 请求参数:
name:指定要签名的镜像名称。
- 示例请求:
POST /images/myimage:1.0/sign
镜像验证
通过API对镜像进行验证的步骤如下:
- 请求URL:
POST /images/{name}/verify - 请求参数:
name:指定要验证的镜像名称。
- 示例请求:
POST /images/myimage:1.0/verify