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 ...
随机推荐
- XCode环境变量及路径设置
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的 ...
- glusterFS安装维护文档
.规划: .依赖包 yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app lvm2-devel l ...
- Java- 基本封装
package test.studet_manager; public class Student { static int num = 100; // 编号-->唯一的 private int ...
- swift 异步加载图片(第三方框架ImageLoader)
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...
- pptp记录用户登陆日志
pptp vpn记录用户登录和流量信息(转) 这个问题困扰了我很久,终于在pppd的man文档里,发现了踪迹.在man中的SCRIPTS下有一系列的参数,其中PEERNAME就是登陆的用户名,并且在/ ...
- subprocess使用
1. Popen使用 test = subprocess.Popen('ls /tmpa', shell=True, stdout = subprocess.PIPE, stderr=subproce ...
- logistic regression的一些问题,不平衡数据,时间序列,求解惑
Logistic Regression 1.在有时间序列的特征数据中,怎么运用LR? 不光是LR,其他的模型也是. 有很多基本的模型变形之后,变成带时序的模型.但,个人觉得,这类模型大多不靠谱. 我觉 ...
- UVa10023手动开大数平方算法
题目链接:UVa 10023 import java.math.BigInteger; import java.util.Scanner; public class Main { public sta ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
- .net 反编译工具
遇到一个需求,做一个专门访问自己网站的浏览器给用户使用,这个浏览器提供登录功能.此时是一个安装在客户端的exe程序,做登录验证要用到webservice,不能将验证逻辑写入exe中,否则客户端可以利用 ...