本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自原教程最后一篇 。
该系列所有文章将参考其他学习资料翻译,也会加入自己的学习作为部分注解。如有错误,欢迎指正。
本文介绍十个专门用于操作镜像的 Docker Remote API。
创建一个镜像
镜像可以从两个方式获取:
- 从 registry 中 pull 一个。
- 导入一个。
用法:
POST /images/create
POST /images/create?fromImage=base
获取名叫 base
的镜像。POST /images/create?fromSrc=url
从 url
导入镜像。
Flux7 这里就有一个 BUG。
shell操作中带有&
的情况下,是需要非常小心的。 图片中的命令需要改正为:curl -v -X POST "http://localhost:5555/images/create?fromImage=base&tag=latest"
从容器创建镜像
POST /commit
列出镜像
GET /images/json
插入文件
POST /images/(name)/insertPOST /images/test/insert?path=/usr&url=myurl
如图,将 url
提供的文件插入到 name
对应的镜像的 path
目录中。
删除镜像
DELETE /images/(name)
推送镜像到 registry
POST /images/(name)/push
为镜像做标签
POST /images/(name)/tag
搜索镜像
GET /images/search
查看镜像历史
GET /images/(name)/history
构建镜像
POST /build
这个需要解释一下:POST 传入的 Dockerfile 文件必须是 tar.gz
格式。或者不传入 Dockerfile,而是用 remote
参数指定一个,这种情况下不要求格式。
使用 POST 传入文件的用法:
再例如使用 remote 传入 Dockerfile 的 url
用法:
命令 # curl localhost/Dockerfile #用于展示存储Dockerfile的URIFROM ubuntuRUN mkdir /myvolRUN echo "hello world" > /myvol/greatingVOLUME /myvol命令 # curl -X POST "127.0.0.1:4243/build?t=asd&remote=http%3A%2F%2Flocalhost%2FDockerfile"命令 # docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEasd latest 1946f0511bda 36 seconds ago 188.3 MB
结尾
Flux7 系列的 Docker 教程到此结束。
本系列教程的有些文章并不是很厚实,也不很使用,所以译者也正在翻译其他的 Docker 文章,包括 Docker 安全、Docker 进阶、Docker 实例等系列实用性的文章,欢迎关注 SegmentFault 社区获取最新信息。
当然,如果你有相关的、非常棒的英文教程可以用留言的方式推荐给我。