Shipyard远程API
1、鉴权模块
1.1 Login,获取token
POST http://192.168.31.149:8080/auth/login
Headers
Content-Type: application/json
Body:
{
"username": "admin",
"password": "shipyard"
}
response
|
{ "auth_token": "$2a$10$kwlWJbgjkEWnN.JhHJINZOp6grcuio1.USA.io28tTLkKzuCnLl.m", "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0" } |
2、容器管理
2.1 获取容器列表
GET http://192.168.31.149:8080/api/containers
Headers
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
X-Access-Token: admin:$ $2a$10$kwlWJbgjkEWnN.JhHJINZOp6grcuio1.USA.io28tTLkKzuCnLl.m
response
|
[ { "id": "5c12b9ad2961cba3a57947ef5a927dd01545bfe8a73785f7c3b13cb7d0704e38", "name": "/shipyard", "image": { "name": "shipyard/shipyard:latest", "entrypoint": [ "/controller" ], "hostname": "5c12b9ad2961", "bind_ports": [ { "proto": "tcp", "host_ip": "0.0.0.0", "port": 8080, "container_port": 8080 } ], "restart_policy": {}, "network_mode": "bridge" }, "engine": { "id": "compute2", "addr": "http://192.168.31.149:4243", "cpus": 4, "memory": 4096, "labels": [ "dd" ] }, "state": "running", "ports": [ { "proto": "tcp", "host_ip": "0.0.0.0", "port": 8080, "container_port": 8080 } ] }, { "id": "4a5f16641c2a5ecca0b05b399bfdaf3c62abf3681289189ee5336feeeb96b4a9", "name": "/gloomy_darwin", "image": { "name": "mysql_test:latest", "environment": { "CLOUD_URL": "http://192.168.31.147:8080/starott_cloud_client/cloud/commomconfig/" }, "hostname": "mysqls", "restart_policy": {}, "network_mode": "bridge" }, "engine": { "id": "compute2", "addr": "http://192.168.31.149:4243", "cpus": 4, "memory": 4096, "labels": [ "dd" ] }, "state": "stopped" }, |
2.2 创建容器
POST /api/containers
Headers
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
X-Access-Token: admin:$2a$10$P8jnLva2KnYP0xWOLCmYruD0B11z0JIpH3cOnDHplxFdbBIZv.iOW
Request body
|
{ "name": "ehazlett/go-demo", "container_name": "demo", "cpus": 0.1, "memory": 32, "type": "service", "hostname": "", "domain": "", "labels": ["local"], "args": [], "environment": { "FOO": "bar" }, "restart_policy": { "name": "always" }, "bind_ports": [ { "host_ip": "10.1.2.3", "proto": "tcp", "container_port": 8080 }, { "proto": "tcp", "port": 80, "container_port": 8080 } ], "links": { "redis": "db" } } |
Reponse
"started_at": "2014-09-12T00:48:23.824260519Z", "pid": 5890, "running": true }
{
"container_port": 8080, "host_ip": "10.1.2.3", "port": 49172, "proto": "tcp" } ]
"labels": [ "local", "dev" ], "memory": 4096, "cpus": 4, "addr": "http://172.16.1.50:2375", "id": "local" }
"restart_policy": {
"name": "always" }, "labels": [ "local" ], "bind_ports": [ {
"proto": "tcp", "port": 49153, "container_port": 8080 }, {
"proto": "tcp", "port": 80, "container_port": 8080 } ], "links": {
"redis": "db" }, "type": "service", "memory": 32, "cpus": 0.1, "name": "ehazlett/go-demo" }
|
2.3 重启容器
GET /api/containers/<id>/restart
Restart a container
Request
GET /api/containers/3e532/restart HTTP/1.1
Response
HTTP/1.1 204 No Content
2.4 停止容器
GET /api/containers/<id>/stop
Stop a container
Request
GET /api/containers/3e532/stop HTTP/1.1
Response
HTTP/1.1 204 No Content
2.5 销毁容器
DELETE /api/containers/<id>
Destroy a container
Request
DELETE /api/containers/3e532 HTTP/1.1
Response
HTTP/1.1 204 No Content
3、计算节点管理
3.1 获取计算节点列表
GET http://192.168.31.149:8080/api/engines
Headers
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
X-Access-Token: admin:$2a$10$P8jnLva2KnYP0xWOLCmYruD0B11z0JIpH3cOnDHplxFdbBIZv.iOW
response
|
[ { "id": "c589bf34-513e-4a15-8164-146511c5e177", "engine": { "id": "compute2", "addr": "http://192.168.31.149:4243", "cpus": 4, "memory": 4096, "labels": [ "dd" ] }, "health": { "status": "up", "response_time": 1375306 }, "docker_version": "1.5.0-dev" } ] |
3.2 添加计算节点
POST /api/engines
Add an engine to the cluster
Request
"id": "local", "addr": "http://10.1.2.3:2375", "cpus": 4.0, "memory": 8192, "labels": [ "local", "dev" ] }
|
Response
HTTP/1.1 201 Created
3.3 删除计算节点
DELETE /api/engines/<id>
Remove an engine from the cluster
Request
DELETE /api/engines/99095f5f-7579-4a70-9369-04ad73c21312 HTTP/1.1
Response
HTTP/1.1 204 No Content
Shipyard远程API的更多相关文章
- Confluence 6 匿名访问远程 API
Confluence 管理员可能希望为匿名用户禁用远程访问 API.这样能够避免恶意软件随意在网站进行批量修改. 希望禁用远程访问 API: 在屏幕的右上角单击 控制台按钮 ,然后选择 General ...
- Confluence 6 启用远程 API
XML-RPC 和 SOAP 远程 API 从 Confluence 5.5 开始已经废弃了.我们推荐你使用完全支持的Confluence Server REST API. 希望启用 XML-RPC ...
- 在Mac OSX系统的Docker机上启用Docker远程API功能
在Mac OSX系统的Docker机上启用Docker远程API功能 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs D ...
- 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法
不依赖远程API启动命令行钱包和网页钱包的方法 在SEER的见证人操作等需要使用命令行钱包的操作中,我们介绍了通过钱包连接远程API来和区块链交互的方法.类似这样: cli_wallet.exe -s ...
- 大叔也说Xamarin~Android篇~调用远程API接口,发POST请求
回到目录 Xamarin我们在上节已经教大家如何去部署它的环境了,今天来说一个实际的例子,使用android客户调用.net web api的一个接口,并发送POST请求,当服务端回到请求后做出响应, ...
- JENKINS的远程API调用,然后用PYTHON解析出最新的版本及稳定成功的版本
这个功能,我觉得在作自动作部署时,是可以派上用处的. 记录一下. import urllib f = urllib.urlopen('http://jenkinsurl/job/job_name/ap ...
- 本地调试远程api tag
当你在本地开发js且需要跨域调用远程接口的时候.可按照下列步骤设置你的chrome. 1.创建chrome快捷方式. 2.右键属性新的快捷方式,在目标一栏后面追加 "--args ...
- hbase远程api调用, 远程连接开发,环境构建相关问题总结
平时在开发的过程中,都是将hbase的环境装在虚拟机或者双系统上的,开发是直接在unix或者linux上进行的,这样对于使用上,有些繁琐. 下面我将介绍我在使用windows远程开发过程中的一些总结: ...
- 通过Hutool 调用远程API接口(POST/GET)
背景:需要调用第三方接口,开启某项任务,用Hutool代替了HttpClient 调用第三方接口,简单粗暴. 代码如下: import java.util.Date; import org.apach ...
随机推荐
- javascript:void(0)和javascript:;的用法
一.JavaScript:void(0) 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢 ...
- 关于开源授权协议 GPL 和 LGPL
GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式:LGPL 是 GNU Lesser General Public License (GNU 宽通 ...
- CNContact对通讯录的基本使用(增删改查)
/** * 注意:iOS9才有能使用 * 首先在工程里导入ContactsUI.framework和Contacts.framework两个框架 * * * 源代码的链接地址 * 链接: http:/ ...
- python MySQLdb中文乱码
Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验 ...
- 关于更新Ubuntu14.04内核后,virtualbox无法开机vm的问题
virtualbox和linux内核结合比较紧密,所以当内核意外改动,可能会引起virtualbox无法启动虚拟机,只要尝试启动虚拟机,就会弹出让你执行/etc/init.d/vboxdrv setu ...
- 关于解决读取导入excel某列数字过长的科学计数法格式
因为 客户 需要导入 虚拟商品的卡号 excel已经是文本形式的单元格格式了 但是 到后台 java代码去获取的时候 仍然是 科学计数法格式 先找到以下资料做参考:http://love-66521. ...
- linux:档案与目录管理
几个常见的目录处理命令: cd(change directory):变更目录 pwd(print working directory):显示当前目录[目录为连结档,则只显示连结档的路径]([-P]不以 ...
- java 笔记(5) —— 线程,yield,join
一.线程各个状态与转换: 新建状态:用new语句创建的线程对象处于新建状态,此时它和其它的java对象一样,仅仅在堆中被分配了内存 .就绪状态:当一个线程创建了以后,其他的线程调用了它的start() ...
- 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项
一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...
- bnuoj 44359 快来买肉松饼
http://www.bnuoj.com/contest/problem_show.php?pid=44359 快来买肉松饼 Time Limit: 5000 ms Case Time Lim ...