标签:状态 部门 encode 添加 nta spec 参数 net .com
好久没写博客,工作中想着未来部门需要对docker进行维护相对麻烦,而且,网络上也缺少一些合适的项目,于是准备筹划自己动手。先找到了Docker 的API文档,地址是:https://docs.docker.com/engine/api/v1.26/
上班的时候发现有API功能,可以直接获取json格式数据,那就不需要自己动手去运行实例并解析文本了。
接口可以使用http查询,也可以使用Unix进程协议查询。为了方便,我暂时使用的是unix进程协议进行查询。
既然用Unix进程协议的话,那就可以使用curl命令进行查看,只需要添加参数--unix-socket即可。
接口:GET /containers/json
命令:curl --unix-socket /var/run/docker.sock http://v1.26/containers/json
结果:
结果解析:从中我们可以发现有网络管理(network),挂载管理(mounts),运行情况(state)以及容器的基本信息
接口:POST /containers/create
命令:curl -v --unix-socket /var/run/docker.sock http://v1.26/containers/create?name=hell -d ‘{"Image":"ubuntu"}‘ -H "Content-Type: application/json"
结果:
结果解析:创建容器需要在请求中带有name参数,同时需要post请求大量配置,不过也可以简单写一个image的json字符串,不过这样会在运行后终止,post请求的头部需要是application/json ,否则会爆500错误,{"message":"Content-Type specified (application/x-www-form-urlencoded) must be ‘application/json‘"}
接口:GET /containers/{id}/json
命令:curl -v --unix-socket /var/run/docker.sock http://v1.26/containers/4941f62/json
结果:
结果说明:该方法可以查询一个容器的状态信息,参数可以使用id和名称,状态过多就不一一介绍了。
标签:状态 部门 encode 添加 nta spec 参数 net .com
原文地址:http://www.cnblogs.com/you-well-day-fine/p/7492142.html