shipyard中文文档

CLI使用

这篇文档描述怎样使用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
    

    创建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