Docker API
API包含四个方面:
- Docker Registry API
- Docker Hub API
- Docker OAuth API
- Docker Remote API
Docker Registry API
1. Extract image layer: 取出镜像层:
GET /v1/images/(image_id)/layer
2. Insert image layer: 插入镜像层:
PUT /v1/images/(image_id)/layer
3. Retrieve an image: 检索镜像:
GET /v1/images/(image_id)/json
4. Retrieve roots of an image: 检索根镜像:
GET /v1/images/(image_id)/ancestry
5. Obtain all tags or specific tag of a repository: 获取库里所有的标签或者指定标签:
GET /v1/repositories/(namespace)/(repository)/tags
or
GET /v1/repositories/(namespace)/(repository)/tags/(tag*)
6. Delete a tag: 删除标签:
DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
7.
Status check of registry: registry状态检查:
GET /v1/_ping
Docker Hub API
- 特殊的library仓库(需要管理员权限)的命令,
repo_name
是新的仓库名称。
1. 创建一个新的仓库。使用以下命令可以创建新的library仓库:
PUT /v1/repositories/(repo_name)/
2. 删除已经存在的仓库
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 Remote API
1. 容器列表 获取所有容器的清单:
GET /containers/json
2. 创建新容器。命令如下:
POST /containers/create
3. 监控容器。使用容器id获取该容器底层信息:
GET /containers/(id)/json
4. 进程列表。获取容器内进程的清单:
GET /containers/(id)/top
5. 容器日志。获取容器的标准输出和错误日志:
GET /containers/(id)/logs
6. 导出容器。导出容器内容:
GET /containers/(id)/export
7. 启动容器。如下:
POST /containers/(id)/start
8. 停止容器。命令如下:
POST /containers/(id)/stop
9. 重启容器,如下:
POST /containers/(id)/restart
10. 终止容器:
POST /containers/(id)/kill