Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API

本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自原教程最后一篇 Part 9: 10 Docker Remote API Commands for Images
该系列所有文章将参考其他学习资料翻译,也会加入自己的学习作为部分注解。如有错误,欢迎指正。

本文介绍十个专门用于操作镜像的 Docker Remote API。

创建一个镜像

镜像可以从两个方式获取:

  1. 从 registry 中 pull 一个。
  2. 导入一个。

用法:

POST /images/create
POST /images/create?fromImage=base 获取名叫 base 的镜像。
POST /images/create?fromSrc=urlurl 导入镜像。

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

Flux7 这里就有一个 BUG。
shell操作中带有 & 的情况下,是需要非常小心的。
图片中的命令需要改正为:curl -v -X POST "http://localhost:5555/images/create?fromImage=base&tag=latest"

从容器创建镜像

POST /commit

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

列出镜像

GET /images/json

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

插入文件

POST /images/(name)/insert
POST /images/test/insert?path=/usr&url=myurl

如图,将 url 提供的文件插入到 name 对应的镜像的 path 目录中。

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

删除镜像

DELETE /images/(name)

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

推送镜像到 registry

POST /images/(name)/push

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

为镜像做标签

POST /images/(name)/tag

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

搜索镜像

GET /images/search

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

查看镜像历史

GET /images/(name)/history

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

构建镜像

POST /build

这个需要解释一下:POST 传入的 Dockerfile 文件必须是 tar.gz 格式。或者不传入 Dockerfile,而是用 remote 参数指定一个,这种情况下不要求格式。

使用 POST 传入文件的用法:

《Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API》

再例如使用 remote 传入 Dockerfile 的 url 用法:

命令 # curl localhost/Dockerfile   #用于展示存储Dockerfile的URI
FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greating
VOLUME /myvol
命令 # curl -X POST "127.0.0.1:4243/build?t=asd&remote=http%3A%2F%2Flocalhost%2FDockerfile"
命令 # docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
asd                      latest              1946f0511bda        36 seconds ago      188.3 MB

结尾

Flux7 系列的 Docker 教程到此结束。

本系列教程的有些文章并不是很厚实,也不很使用,所以译者也正在翻译其他的 Docker 文章,包括 Docker 安全、Docker 进阶、Docker 实例等系列实用性的文章,欢迎关注 SegmentFault 社区获取最新信息。

当然,如果你有相关的、非常棒的英文教程可以用留言的方式推荐给我。

    原文作者:大舒
    原文地址: https://segmentfault.com/a/1190000002711508
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞