本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自原教程最后一篇 Part 9: 10 Docker Remote API Commands for Images。
该系列所有文章将参考其他学习资料翻译,也会加入自己的学习作为部分注解。如有错误,欢迎指正。
本文介绍十个专门用于操作镜像的 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)/insert
POST /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的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 社区获取最新信息。
当然,如果你有相关的、非常棒的英文教程可以用留言的方式推荐给我。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。