这篇文档描述怎样使用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
:容器暴露的端口(<proto>/<host-ip>:<host-port>:<container-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
add-service-key
。--description,-d
:key的描述shipyard cli> shipyard add-service-key -d "test key"
created key: Z2uwezQGoaIcfiRSQBRbktrzdbFRWKlVTEry
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