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 ...
随机推荐
- Scanner类的使用
Scanner类的使用 (接受键盘输入) java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java AP ...
- BCP及自增标识列
10:58 2012-12-20 通过BCP命令导入导出数据 bcp "test.dbo.lxy133" out d:\lxy133.txt -SMSSQL$SQL08R2 -Us ...
- iOS NSUserDefaults的基本使用
/** * NSUserDefaults可以进行轻量级的数据存储 * NSUserDefaults支持的数据类型: NSString, NSNumber, NSDate, NSArray, * NSD ...
- python gzip,bz2学习
一.gzip import gzip 1.解压缩 a = gzip.open('a.tar.gz') b = open('a.tar','wb') b.write(a.read()) a.close( ...
- oracle导sql脚本
在plsql里,新建命令窗口,输入如下命令 @d:\test.sql
- PAT 解题报告 1047. Student List for Course (25)
1047. Student List for Course (25) Zhejiang University has 40000 students and provides 2500 courses. ...
- Leetcode: Convert a Number to Hexadecimal
Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's compl ...
- SQL 数据库 子查询、主外键
子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这时它可以用在 ...
- JavaScript内的类型转换
JavaScript内的类型转换 1.分为自动转换和强制转换,我们一般用强制转换.其他类型转换为整数是parseInt();其他类型转化为小数parseFloat(); 2.判断是不是一个合法数字 ...
- 位置式PID与增量式PID算法
位置式PID与增量式PID算法 PID控制是一个二阶线性控制器 定义:通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能. 优点 ...