您的位置:首页 > 运维架构 > Docker

8 Docker Remote API

2016-12-03 14:32 513 查看
Docker Remote API 是将会用来取代 Docker 命令的工具。本文将会用 
curl
 操作 Docker Remote API。


准备:

示例系统是 Ubuntu,配置文件在 
/etc/default/docker


需要把此文件的 
DOCKER_OPTS
 改为 
DOCKER_OPTS="-H
127.0.0.1:5555 -H unix:///var/run/docker.sock"


修改完毕后,重启 Docker。

Docker 常用端口为 4243,本文遵照原文,改为 5555,生产环境一定要注意该端口不要被未授权 IP 访问。




1 操作容器的api:


列出所有容器

GET /containers/json





创建新容器

POST /containers/create





检查容器

GET /containers/(id)/json


用于获取容器底层信息。




进程列表

GET /containers/(id)/top


获取容器内运行进程的列表。




容器日志

GET /containers/(id)/logs


获取容器内 
stdout
 和 
stderr
 的输出。




导出容器

GET /containers/(id)/export


相当于 
docker export
,可以直接 
curl
 到一个镜像文件。




启动容器

POST /containers/(id)/start





停止容器

POST /containers/(id)/stop





重启容器

Restart a Container





KILL容器

POST /containers/(id)/kill




2 用于操作镜像的 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: