这篇文档描述怎样使用Shipyard CLI(command line interface)来工作。
查看帮助
shipyard cli> shipyard help
NAME:
shipyard - manage a shipyard cluster
USAGE:
shipyard [global options] command [command options] [arguments...]
VERSION:
2.0.3
COMMANDS:
login login to a shipyard cluster
change-password update your password
accounts show accounts
add-account add account
delete-account delete account
containers list containers
inspect inspect container
run run a container
stop stop a container
restart restart a container
scale scale a container
logs show container logs
destroy destroy a container
engines list engines
add-engine add shipyard engine
remove-engine removes an engine
inspect-engine inspect an engine
service-keys list service keys
add-service-key adds a service key
remove-service-key removes a service key
extensions show extensions
add-extension add extension
remove-extension remove an extension
webhook-keys list webhook keys
add-webhook-key adds a webhook key
remove-webhook-key removes a webhook key
info show cluster info
events show cluster events
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--generate-bash-completion
--version, -v print the version
登录
登录Shipyard集群。将会保存授权信息到~/.shipyardrc
。
shipyard cli> shipyard login
URL: http://localhost:8080
Username: admin
Password: **********
修改密码
只要登录了系统,你就可以使用 change-password
来修改账户的密码。
shipyard cli> shipyard change-password
Password: **********
Confirm: **********
账户列表
列出所有Shipyard账户
shipyard cli> shipyard accounts
Username Role
admin admin
demo user
增加账户
使用命令 add-account
。
可选项
--username,-u
:账户名称--password,-p
:账户密码--role,-r
:账户角色(admin/user)
shipyard cli> shipyard add-account -u demo -p demo123 -r user
删除账户
使用命令delete-account
。
shipyard cli> shipyard delete-account demo
查看容器列表
查看集群所有容器列表使用 containers
。
shipyard cli> shipyard containers
ID Name Host Ports
7b55a8eb9f57 redis:2.8.11 local tcp/49167:6379
3e532b000891 ehazlett/go-demo:latest local tcp/49155:8080
查看容器详情
shipyard cli> shipyard inspect 3e53
{
"id": "3e532b000891e90e93ca3781031e7c1ddb76d8378dfdfd3a34f",
"image": {
"name": "ehazlett/go-demo:latest",
"cpus": 0.08,
"memory": 256,
"environment": {
"GOPATH": "/gopath",
"GOROOT": "/goroot"
},
"hostname": "demo-1",
"type": "service",
"labels": [
"local"
],
"restart_policy": {}
},
"engine": {
"id": "local",
"addr": "http://10.1.2.3:2375",
"cpus": 4,
"memory": 8192,
"labels": [
"dev",
"local"
]
},
"ports": [
{
"proto": "tcp",
"port": 49155,
"container_port": 8080
}
]
}
发布容器
使用命令 run
。
可选项
--name
:Docker镜像名称--container-name
:容器名称--cpus
:可使用的cpus--memory
:可使用的内存单位MB--type
:容器类型(service,host,unique)--hostname
:容器主机名--domain
:容器域名--env
:设置容器环境变量--link
:连接其他容器--arg
:容器命令行参数--vol
:容器挂载点(/host/path:/container/path
或者/container/path
)--label
:用来调度的标签--port
:容器暴露的端口(/::
)--publish
:暴露所有端口--pull
:启动之前获取最新镜像--count
:容器启动数量--restart
:重启策略(失败时,总是,失败次数:5等等)
shipyard cli> shipyard run --name ehazlett/go-demo
--cpus 0.1
--memory 32
--type service
--hostname demo-test
--domain local
--link redis:db
--port tcp/10.1.2.3:80:8080
--port tcp/::8000
--restart "on-failure:5"
--env FOO=bar
--label dev
--pull
started 407e39dc1ccc on local
容器扩展
将扩展容器到想要的数量。
shipyard cli> shipyard scale --id 407e --count 10
scaled 407e39dc1ccc to 10
查看容器日志
显示容器的日志。
shipyard cli> shipyard logs 407e39
listening on :8080
销毁容器
杀掉和删除容器。
shipyard cli> shipyard destroy 407e
destroyed 407e39dc1ccc
查看引擎列表
显示集群上的引擎列表。
shipyard cli> shipyard engines
ID Cpus Memory Host Labels
local 4.00 8192.00 http://10.1.2.3:2375 dev,local
增加引擎
使用add-engine
。
可选项
--id
:引擎id--addr
:引擎地址(例如:http://10.1.2.3:2375)--cpus
:引擎cpus--memory
:引擎内存--label
:调度使用的标签--ssl-cert
:(可选)ssl证书地址--ssl-key
:(可选)ssl key--ca-cert
:(可选)ca证书地址shipyard cli> shipyard add-engine --id demo --add http://10.1.2.3:2375 --cpus 4.0 --memory 4096 --label local --label dev
查看引擎详情
使用inspect-engine
查看引擎详情。
shipyard cli> shipyard inspect-engine local
{
"engine": {
"labels": [
"local",
"dev"
],
"memory": 2048,
"cpus": 4,
"addr": "http://172.16.1.50:2375",
"id": "local"
},
"id": "a08b8518-e963-4eb5-959a-566bd270cd28"
}
删除引擎
使用 remove-engine
从集群中删除引擎
shipyard cli> shipyard remove-engine demo
创建Service key
使用 add-service-key
。
可选项
--description,-d
:key的描述
shipyard cli> shipyard add-service-key -d "test key"
created key: Z2uwezQGoaIcfiRSQBRbktrzdbFRWKlVTEry
查看Service key列表
使用 service-keys
查看集群的service key 列表
shipyard cli> shipyard service-keys
Key Description
Z2uwezQGoaIcfiRSQBRbktrzdbFRWKlVTEry test key
查看集群信息
使用 info
。
shipyard cli> shipyard info
Cpus: 4.00
Memory: 8192.00 MB
Containers: 2
Images: 5
Engines: 1
Reserved Cpus: 4.00% (0.16)
Reserved Memory: 3.52% (288.00 MB)
查看事件列表
使用events
。
shipyard cli> shipyard events
Time Message Engine Type Tags
Sep 09 06:58:13 2014 container:6c07 local start docker
Sep 09 06:58:13 2014 container:6c07 local create docker