• 命令和选项
    • Rancher CLI 命令
    • Rancher CLI 全局参数
      • 等待资源
    • Rancher Catalog 说明
      • 选项
      • 子命令
      • Rancher Catalog Ls
        • 选项
      • Rancher Catalog install
        • 选项
    • Rancher Config 说明
      • 选项
    • Rancher Docker 说明
      • 选项
    • Rancher Environment 说明
      • 选项
      • 子命令
      • Rancher Env Ls
        • 选项
      • Rancher Env Create
        • 选项
      • Rancher Env Template
        • 选项
        • 子命令
      • Rancher Env Rm
      • Rancher Env Deactivate
      • Rancher Env Activate
    • Rancher Events 说明
      • 选项
    • Rancher Exec 说明
      • 选项
    • Rancher Export 说明
      • 选项
    • Rancher hosts 说明
      • 选项
      • 子命令
      • Rancher Hosts Ls
        • 选项
      • Rancher Hosts Create
    • Rancher Logs 说明
      • 选项
    • Rancher ps 说明
      • 选项
    • Rancher restart 说明
      • 选项
    • Rancher rm 说明
      • 选项
    • Rancher run 说明
    • Rancher scale 说明
    • Rancher ssh 说明
    • Rancher stacks 说明
      • 选项
      • 命令
      • Rancher Stacks Ls
        • 选项
      • Rancher Stacks Create
        • 选项
    • Rancher start/activate 说明
      • 选项
    • Rancher stop/deactivate 说明
      • 选项
    • Rancher up 说明
      • 选项
    • Rancher volumes 说明
      • 选项
      • 命令
      • Rancher Volume LS
        • 选项
      • Rancher Volume Rm
      • Rancher Volume Create
        • 选项
    • Rancher inspect 说明
      • 选项
    • Rancher wait 说明

    命令和选项


    Rancher CLI 可以用于操作Rancher中的环境、主机、应用、服务和容器。

    Rancher CLI 命令

    名字描述
    catalog操作应用商店
    config设置客户端配置
    docker在主机上运行docker命令
    environment, env操作环境
    events, event展示资源变更事件
    exec在容器上运行命令
    export将应用的yml配置文件导出为tar或者本地文件
    hosts, host操作主机
    logs抓取容器的日志
    ps展示服务/容器
    restart重启服务/容器
    rm删除服务、容器、应用、主机、卷
    run运行服务
    scale设置一个服务运行的容器数量
    sshSSH到主机
    stacks, stack操作应用
    start, activate启动服务、容器、主机、应用
    stop, deactivate停止服务、容器、主机、应用
    up启动所有服务
    volumes, volume操作卷
    inspect查看服务、容器、主机、环境、应用、卷的详情
    wait等待服务、容器、主机、应用栈、机器、项目模版
    help展示命令列表或者某个命令的说明

    Rancher CLI 全局参数

    当使用rancher时,可以使用不同的全局参数。

    名字描述
    —debug调试日志
    —config value, -c value客户端配置文件 (缺省为 ${HOME}/.rancher/cli.json) [$RANCHER_CLIENT_CONFIG]
    —environment value, —env value环境名字或ID [$RANCHER_ENVIRONMENT]
    —url value指定Rancher API接口链接 [$RANCHER_URL]
    —access-key value指定Rancher API访问密钥 [$RANCHER_ACCESS_KEY]
    —secret-key value指定Rancher API安全密钥 [$RANCHER_SECRET_KEY]
    —host value执行docker命令的主机[$RANCHER_DOCKER_HOST]
    —wait, -w等待资源到达最终状态
    —wait-timeout value等待的超时时间(缺省值: 600秒)
    —wait-state value等待的状态(正常, 健康等)
    —help, -h展示帮助说明
    —version, -v打印版本信息

    等待资源

    全局的选项如—wait-w 可以用于需逐渐到达最终状态的命令。当编辑Rancher命令的脚本时,使用-w选项可以让脚本等待资源就绪后再执行下一个命令。等待的超时时间默认时十分钟,但如果您想要改变超时时间,可以使用—wait-timeout选项。您还可以使用—wait-state选项来指定资源必须到达某个特定状态后,命令才结束返回。

    Rancher Catalog 说明

    rancher catalog 命令提供了操作应用商店模版的相关操作。

    选项

    名字描述
    —quiet, -q只展示IDs
    —format valuejson格式或自定义格式: {% raw %}‘{{.ID}} {{.Template.Id}}’{% endraw %}
    —system, -s展示系统模版

    子命令

    名字描述
    ls列出应用商店模版
    install安装应用商店模版
    help展示命令列表或某个命令的说明

    Rancher Catalog Ls

    rancher catalog ls 命令列出环境下的所有模版。

    选项
    名字描述
    —quiet, -q只展示IDs
    —format valuejson格式或自定义格式: {% raw %}‘{{.ID}} {{.Template.Id}}’{% endraw %}
    —system, -s展示系统模版
    1. # 列出所有应用商店模版
    2. $ rancher catalog ls
    3. # 列出运行kubernetes环境中的所有应用商店模版
    4. $ rancher --env k8sEnv catalog ls
    5. # 列出系统应用商店模版
    6. $ rancher catalog ls --system

    Rancher Catalog install

    rancher catalog install命令在您的环境中安装应用商店模版。

    选项
    名字描述
    -answers value, -a value模版的参数文件。格式应为yaml或者json,并且确保文件有正确的后缀名。
    —name value创建的应用的名字
    —system, -s安装一个系统模版
    1. # 安装一个应用模版
    2. $ rancher catalog install library/route53:v0.6.0-rancher1 --name route53
    3. # 安装一个应用模版并将其标识为系统模版
    4. $ rancher catalog install library/route53:v0.6.0-rancher1 --name route53 --system

    Rancher Config 说明

    rancher config 命令用于设置您的Rancher Server的配置.

    1. $ rancher config
    2. URL []: http://<server_ip>:8080
    3. Access Key []: <accessKey_of_account_api_key>
    4. Secret Key []: <secretKey_of_account_api_key>
    5. # 如果超过一个环境,您需要指定一个环境
    6. Environments:
    7. [1] Default(1a5)
    8. [2] k8s(1a10)
    9. Select: 1
    10. INFO[0017] Saving config to /Users/<username>/.rancher/cli.json

    选项

    名字描述
    —print打印当前的配置

    如果您想要打印当前配置,可以使用——print

    1. # 显示当前的Rancher的配置
    2. $ rancher config --print

    Rancher Docker 说明

    rancher docker 命令允许您在某台机器上运行任何Docker命令。 使用 $RANCHER_DOCKER_HOST 来运行Docker命令. 使用 —host <hostID> 或者 —host <hostName> 来选择其他主机。

    1. $ rancher --host 1h1 docker ps

    选项

    名字描述
    —help-docker显示 docker —help

    注意: 如果环境变量RANCHER_DOCKER_HOST没有设置,您需要通过—host指定运行Docker命令的主机。

    Rancher Environment 说明

    rancher environment命令让您可以操作环境。如果您使用账户API key, 您可以创建和更新环境。如果您使用环境API key,您不能创建和更新其他环境,只能看到您当前的环境。

    选项

    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Environment.Name}}’{% endraw %}

    子命令

    名字描述
    ls列出所有环境
    create创建一个环境
    templates, template操作环境模版
    rm删除环境
    deactivate停用环境
    activate启用环境
    help显示命令列表或者某个命令的帮助

    Rancher Env Ls

    rancher env ls命令显示Rancher中的所有环境。

    选项
    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Environment.Name}}’{% endraw %}
    1. $ rancher env ls
    2. ID NAME ORCHESTRATION STATE CREATED
    3. 1a5 Default Cattle active 2016-08-15T19:20:46Z
    4. 1a6 k8sEnv Kubernetes active 2016-08-17T03:25:04Z
    5. # 只列出环境ID
    6. $ rancher env ls -q
    7. 1a5
    8. 1a6

    Rancher Env Create

    rancher env create命令用于创建一个新的环境,环境的缺省的编排引擎使用cattle。

    选项
    名字描述
    —template value, -t value创建环境的模版(缺省: “Cattle”)
    1. # 创建一个环境
    2. $ rancher env create newCattleEnv
    3. # 创建一个kubernetes 环境
    4. $ rancher env create -t kubernetes newk8sEnv

    Rancher Env Template

    rancher env template 命令用于导出或者导入环境模版。

    选项
    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.ProjectTemplate.Name}}’{% endraw %}
    子命令
    名字描述
    export将一个环境模版导出到标准输出
    import从一个文件中导入环境模版
    help显示命令列表或者某个命令的帮助

    Rancher Env Rm

    rancher env rm命令用于删除环境。可以使用环境名字或者ID来删除。

    1. # 使用名字删除环境
    2. $ rancher env rm newk8sEnv
    3. # 使用ID删除环境
    4. $ rancher env rm 1a20

    Rancher Env Deactivate

    rancher env deactivate命令停用一个环境。用环境名字或者ID来指定停用的环境。

    Rancher Env Activate

    rancher env activate 命令启用一个环境。用环境名字或者ID来指定启用的环境。

    Rancher Events 说明

    rancher events 命令列出Rancher Server中所有出现的事件。

    选项

    名字描述
    —format valuejson 或者自定义格式: {% raw %}‘{{.Name}} {{.Data.resource.kind}}’{% endraw %}
    —reconnect, -r出错时重连接

    Rancher Exec 说明

    rancher exec 命令可以用于执行进入在Rancher的容器。 用户不需要知道容器在哪个宿主机,只需要知道Rancher中的容器ID(如 1i1, 1i788)。

    1. # 执行进入一个容器
    2. $ rancher exec -i -t 1i10

    选项

    名字描述
    —help-docker显示docker exec —help

    rancher exec 命令找到容器后,它在指定的主机和容器执行 docker exec命令。 可以通过使用—help-docker来显示 docker exec的说明。

    1. # 显示docker exec --help
    2. $ rancher exec --help-docker

    Rancher Export 说明

    rancher export 命令将一个应用的 docker-compose.ymlrancher-compose.yml文件导出为tar包。

    选项

    名字描述
    —file value, -f value输出到一个指定文件中。使用 - 可以输出到标准输出流
    —system, -s是否导出整个环境,包括系统应用。
    1. # 将一个应用中所有服务的docker-compose.yml和 rancher-compose.yml导出为tar包。
    2. $ rancher export mystack > files.tar
    3. $ rancher export -f files.tar mystack

    Rancher hosts 说明

    rancher hosts命令可用于操作环境中的主机。

    选项

    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Host.Hostname}}’{% endraw %}

    子命令

    名字描述
    ls显示主机列表
    create创建一个主机

    Rancher Hosts Ls

    rancher hosts ls 命令列出所有主机。

    选项
    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Host.Hostname}}’{% endraw %}
    1. $ rancher hosts ls
    2. ID HOSTNAME STATE IP
    3. 1h1 host-1 active 111.222.333.444
    4. 1h2 host-3 active 111.222.333.555
    5. 1h3 host-2 active 111.222.333.666
    6. 1h4 host-4 active 111.222.333.777
    7. 1h5 host-5 active 111.222.333.888
    8. 1h6 host-6 active 111.222.333.999
    9. # 只显示主机ID
    10. $ rancher hosts ls -q
    11. 1h1
    12. 1h2
    13. 1h3
    14. 1h4
    15. 1h5
    16. 1h6

    Rancher Hosts Create

    rancher hosts create命令用于创建 主机. 当创建主机时,需要调用Docker Machine命令,因此需要提供该命令所需要的选项。

    Rancher Logs 说明

    rancher logs 用于抓取指定容器名或容器ID的容器的日志。

    选项

    名字描述
    —service, -s显示服务日志
    —sub-log显示服务副日志
    —follow, -f设置日志继续输出
    —tail value显示日志的最后的几行 (缺省: 100)
    —since value显示自某个时间戳后的日志
    —timestamps, -t显示时间戳
    1. # 获取某个容器ID对应容器的最后50行日志
    2. $ rancher logs --tail 50 <ID>
    3. # 使用容器名来查看日志
    4. $ rancher logs -f <stackName>/<serviceName>

    Rancher ps 说明

    rancher ps 命令显示Rancher中的所有服务或者容器。如果不附加任何选项,该命令会返回环境中所有的服务。

    选项

    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —system, -s显示系统资源
    —containers, -c显示容器
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.Service.Id}} {{.Service.Name}} {{.Service.LaunchConfig.ImageUuid}}’{% endraw %}
    1. # 列出所有服务
    2. $ rancher ps
    3. ID TYPE NAME IMAGE STATE SCALE ENDPOINTS DETAIL
    4. 1s1 service Default/blog ghost activating 3 Waiting for [instance:Default_blog_3]. Instance status: Storage : Downloading
    5. # 列出所有容器
    6. $ rancher ps -c
    7. ID NAME IMAGE STATE HOST DETAIL
    8. 1i1 Default_blog_1 ghost running 1h1
    9. 1i2 Default_blog_2 ghost running 1h2
    10. 1i3 Default_blog_3 ghost running 1h3

    detail 一列提供了服务的当前状态。

    Rancher restart 说明

    rancher restart可以用于重启任何主机、服务和容器。

    选项

    名字描述
    —type value指定重启的类型 (服务, 容器)
    —batch-size value一次中重启的容器数量 (缺省值: 1)
    —interval value两次重启的间隔时间,单位ms (缺省值: 1000)
    1. # 通过服务、容器、主机的ID重启
    2. $ rancher restart <ID>
    3. # 通过服务、容器、主机的名字重启
    4. $ rancher restart <stackName>/<serviceName>

    注意: 服务里中需要包含了应用的名字,以保证指定了正确的服务。

    Rancher rm 说明

    rancher rm 命令用于删除资源,比如主机、应用栈、服务、容器或者卷。

    选项

    名字描述
    —type value指定删除的特定类型
    —stop, -s在删除前首先暂停资源
    1. $ rancher rm <ID>

    Rancher run 说明

    run 命令以1个容器的规模来部署一个服务。当创建服务时,如果想将其置于某个应用栈中, 需要提供—namestackName/serviceName。如果—name 没有提供,那么新建的服务的名字是Docker提供的容器名,且处于 Default 应用中。

    1. $ rancher run --name App2/app nginx
    2. # CLI返回新建服务的ID
    3. 1s3
    4. $ rancher -i -t --name serviceA ubuntu:14.04.3
    5. 1s4

    如果要在主机上公开一个端口,那么该主机的端口必须可用。Rancher会自动调度容器到端口可用的主机上。

    1. $ rancher -p 2368:2368 --name blog ghost
    2. 1s5

    Rancher scale 说明

    当您使用rancher run创建一个服务时,服务的规模缺省是1。可以使用rancher scale命令来扩容某个服务。可以通过名字或者ID来指定服务。

    1. $ rancher scale <stackName>/<serviceName>=5 <serviceID>=3

    Rancher ssh 说明

    rancher ssh 用于ssh到UI创建的某个主机中。它无法ssh通过自定义 命令添加的主机。

    1. $ rancher ssh <hostID>

    Rancher stacks 说明

    rancher stacks命令可以操作环境中的应用。

    选项

    名字描述
    —system, -s显示系统资源
    —quiet, -q只显示ID
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Stack.Name}}’{% endraw %}

    命令

    名字描述
    ls列出应用
    create创建一个应用

    Rancher Stacks Ls

    rancher stacks ls 命令列出指定环境中的应用。

    选项
    名字描述
    —system, -s显示系统资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Stack.Name}}’{% endraw %}
    1. #列出所有应用栈
    2. $ rancher stacks ls
    3. ID NAME STATE CATALOG SYSTEM DETAIL
    4. 1e1 zookeeper healthy catalog://community:zookeeper:1 false
    5. 1e2 Default degraded false
    6. 1e3 App1 healthy false
    7. # 只列出应用栈IDs
    8. $ rancher stacks ls -q
    9. 1e1
    10. 1e2
    11. 1e3

    Rancher Stacks Create

    rancher stacks create 命令用于创建新的应用。应用可以为空的或者从docker-compose.ymlrancher-compose.yml文件中创建。

    选项
    名字描述
    —start在创建后启动应用
    —system, -s创建一个系统应用
    —empty, -e创建一个空的应用
    —quiet, -q只展示IDs
    —docker-compose value, -f valueDocker Compose 文件 (缺省: “docker-compose.yml”)
    —rancher-compose value, -r valueRancher Compose 文件 (缺省: “rancher-compose.yml”)
    1. # 创建一个空的应用
    2. $ rancher stacks create NewStack -e
    3. # 从一个docker-compose和rancher-compose文件创建应用
    4. # 以及在创建后运行应用
    5. $ rancher stacks create NewStack -f dc.yml -r rc.yml --start

    Rancher start/activate 说明

    rancher startrancher activate 命令启动指定的资源类型,如主机、服务或容器。

    选项

    名字描述
    —type value启动指定的类型 (服务, 容器, 主机, 应用)
    1. # 用资源ID来启动
    2. $ rancher start <ID>
    3. # 用资源名字来启动
    4. $ rancher start <stackName>/<serviceName>

    注意: 为了保证指定了正确的服务,服务名中需要包含应用的名字。

    Rancher stop/deactivate 说明

    rancher stoprancher deactivate 命令用于停止指定的资源类型,如主机、服务和容器。

    选项

    名字描述
    —type value停止指定的资源类型 (服务, 容器, 主机, 应用)
    1. # 用ID来停止
    2. $ rancher stop <ID>
    3. # 用名字来停止
    4. $ rancher stop <stackName>/<serviceName>

    注意: 为了保证指定了正确的服务,服务名中需要包含应用的名字。

    Rancher up 说明

    rancher up命令类似于 Docker Compose的up 命令。

    选项

    名字描述
    —pull, -p在升级前在所有主机上先拉取镜像
    -d不阻塞和记录日志
    —upgrade, -u, —recreate如果服务发生变更则升级
    —force-upgrade, —force-recreate不管服务有无变更,都进行升级
    —confirm-upgrade, -c确认升级成功和删除旧版本的容器
    —rollback, -r回滚到之前部署的版本
    —batch-size value一次升级的容器数量 (缺省: 2)
    —interval value更新的间隔,单位毫秒 (缺省: 1000)
    —rancher-file value指定一个新的Rancher compose文件 (缺省: rancher-compose.yml)
    —env-file value, -e value指定一个包含了环境变变量的文件。格式应为yaml或者json,并且确保文件有正确的后缀名。
    —file value, -f value指定一个或多个新的compose文件 (缺省: docker-compose.yml) [$COMPOSE_FILE]
    —stack value, -s value指定一个新的项目名字(缺省: 目录名)
    1. # 在末尾还上 -d,防止阻塞和记录日志
    2. $ rancher up -s <stackName> -d

    Rancher volumes 说明

    rancher volumes 命令用于操作卷。

    选项

    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Volume.Name}}’{% endraw %}

    命令

    名字描述
    ls列出卷
    rm删除一个卷
    create创建一个卷

    Rancher Volume LS

    rancher volume ls命令列出环境中的所有卷。

    选项
    名字描述
    —all, -a显示暂停/无效和最近移除的资源
    —quiet, -q只显示IDs
    —format valuejson 或者自定义格式: {% raw %}‘{{.ID}} {{.Volume.Name}}’{% endraw %}
    1. $ rancher volumes ls
    2. ID NAME STATE DRIVER DETAIL
    3. 1v1 active
    4. 1v2 active
    5. 1v3 detached
    6. 1v4 active
    7. 1v5 detached
    8. 1v6 detached
    9. 1v7 rancher-agent-state active local

    Rancher Volume Rm

    rancher volume rm 命令用于删除卷。

    1. $ rancher volumes rm <VOLUME_ID>

    Rancher Volume Create

    rancher volume create 用于创建卷。

    选项
    名字描述
    —driver value指定卷驱动
    —opt value设置驱动特定的 key/value 选项
    1. # 使用 Rancher NFS 驱动创建新的卷
    2. $ rancher volume create NewVolume --driver rancher-nfs

    Rancher inspect 说明

    rancher inspect 用于查看资源的详情。

    选项

    名字描述
    —type value查看指定的类型 (服务, 容器, 主机)
    —links在资源详情中包含操作和链接的URL
    —format valuejson 或者自定义格式: {% raw %}‘{{.kind}}’{% endraw %} (默认: “json”)
    1. # 用ID来查看详情
    2. $ rancher inspect <ID>
    3. # 用名字来查看详情
    4. $ rancher inspect <stackName>/<serviceName>

    注意: 为了保证指定了正确的服务,服务名中需要包含应用的名字。

    Rancher wait 说明

    rancher wait 命令用于等待资源完成操作。 它对自动化Rancher命令十分有用,可以在脚本中用于等待某个资源就绪后再执行更多操作。

    1. $ rancher start 1i1
    2. $ rancher wait 1i1