命令和选项
Rancher CLI 可以用于操作 Rancher 中的环境、主机、应用、服务和容器。
#
名字 | 描述 |
---|---|
catalog
|
操作应用商店 |
config
|
设置客户端配置 |
docker
|
在主机上运行 docker 命令 |
environment
,
env
|
操作环境 |
events
,
event
|
展示资源变更事件 |
exec
|
在容器上运行命令 |
export
|
将应用的 yml 配置文件导出为 tar 或者本地文件 |
hosts
,
host
|
操作主机 |
logs
|
抓取容器的日志 |
ps
|
展示服务/容器 |
restart
|
重启服务/容器 |
rm
|
删除服务、容器、应用、主机、卷 |
run
|
运行服务 |
scale
|
设置一个服务运行的容器数量 |
ssh
|
SSH 到主机 |
stacks
,
stack
|
操作应用 |
start
,
activate
|
启动服务、容器、主机、应用 |
stop
,
deactivate
|
停止服务、容器、主机、应用 |
up
|
启动所有服务 |
volumes
,
volume
|
操作卷 |
inspect
|
查看服务、容器、主机、环境、应用、卷的详情 |
wait
|
等待服务、容器、主机、应用栈、机器、项目模版 |
help
|
展示命令列表或者某个命令的说明 |
#
当使用
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
命令提供了操作应用商店模版的相关操作。
#
::: v-pre
名字 | 描述
----|-----
--quiet
,
-q
| 只展示 IDs
--format
value |
json
格式或自定义格式: '{{.ID}} {{.Template.Id}}'
--system
,
-s
| 展示系统模版
::::
#
名字 | 描述 |
---|---|
ls
|
列出应用商店模版 |
install
|
安装应用商店模版 |
help
|
展示命令列表或某个命令的说明 |
#
rancher catalog ls
命令列出环境下的所有模版。
#
::: v-pre
名字 | 描述
-----|-----
--quiet
,
-q
| 只展示 IDs
--format
value |
json
格式或自定义格式: '{{.ID}} {{.Template.Id}}'
--system
,
-s
| 展示系统模版
::::
#
rancher catalog install
命令在您的环境中安装应用商店模版。
#
名字 | 描述 |
---|---|
-answers
value,
-a
value
|
模版的参数文件。格式应为
yaml
或者
json
,并且确保文件有正确的后缀名。
|
--name
value
|
创建的应用的名字 |
--system
,
-s
|
安装一个系统模版 |
#
#
名字 | 描述 |
---|---|
--print
|
打印当前的配置
|
如果您想要打印当前配置,可以使用
----print
。
#
rancher docker
命令允许您在某台机器上运行任何 Docker 命令。 使用
$RANCHER_DOCKER_HOST
来运行 Docker 命令. 使用
--host <hostID>
或者
--host <hostName>
来选择其他主机。
#
名字 | 描述 |
---|---|
--help-docker
|
显示
docker --help
|
注意: 如果环境变量
RANCHER_DOCKER_HOST
没有设置,您需要通过--host
指定运行 Docker 命令的主机。
#
rancher environment
命令让您可以操作环境。如果您使用账户 API key, 您可以创建和更新环境。如果您使用环境 API key,您不能创建和更新其他环境,只能看到您当前的环境。
#
::: v-pre
名字 | 描述
----|-----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Environment.Name}}'
::::
#
名字 | 描述 |
---|---|
ls
|
列出所有环境 |
create
|
创建一个环境 |
templates
,
template
|
操作环境模版 |
rm
|
删除环境 |
deactivate
|
停用环境 |
activate
|
启用环境 |
help
|
显示命令列表或者某个命令的帮助 |
#
rancher env ls
命令显示 Rancher 中的所有环境。
#
::: v-pre
名字 | 描述
----|-----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Environment.Name}}'
::::
#
rancher env create
命令用于创建一个新的环境,环境的缺省的编排引擎使用 cattle。
#
名字 | 描述 |
---|---|
--template
value,
-t
value
|
创建环境的模版(缺省: "Cattle") |
#
rancher env template
命令用于导出或者导入环境模版。
#
::: v-pre
名字 | 描述
---|----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.ProjectTemplate.Name}}'
::::
#
名字 | 描述 |
---|---|
export
|
将一个环境模版导出到标准输出 |
import
|
从一个文件中导入环境模版 |
help
|
显示命令列表或者某个命令的帮助 |
#
rancher env rm
命令用于删除环境。可以使用环境名字或者 ID 来删除。
#
rancher env deactivate
命令停用一个环境。用环境名字或者 ID 来指定停用的环境。
#
rancher env activate
命令启用一个环境。用环境名字或者 ID 来指定启用的环境。
#
rancher events
命令列出 Rancher Server 中所有出现的事件。
#
::: v-pre
名字 | 描述
---|----
--format
value |
json
或者自定义格式: '{{.Name}} {{.Data.resource.kind}}'
--reconnect
,
-r
| 出错时重连接
::::
#
rancher exec
命令可以用于执行进入在 Rancher 的容器。 用户不需要知道容器在哪个宿主机,只需要知道 Rancher 中的容器 ID(如
1i1
,
1i788
)。
#
名字 | 描述 |
---|---|
--help-docker
|
显示
docker exec --help
|
在
rancher exec
命令找到容器后,它在指定的主机和容器执行
docker exec
命令。 可以通过使用
--help-docker
来显示
docker exec
的说明。
#
rancher export
命令将一个应用的
docker-compose.yml
和
rancher-compose.yml
文件导出为 tar 包。
#
名字 | 描述 |
---|---|
--file
value,
-f
value
|
输出到一个指定文件中。使用 - 可以输出到标准输出流 |
--system
,
-s
|
是否导出整个环境,包括系统应用。 |
#
rancher hosts
命令可用于操作环境中的主机。
#
::: v-pre
名字 | 描述
----|-----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Host.Hostname}}'
::::
#
名字 | 描述 |
---|---|
ls
|
显示主机列表 |
create
|
创建一个主机 |
#
rancher hosts ls
命令列出所有主机。
#
::: v-pre
名字 | 描述
----|-----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Host.Hostname}}'
::::
#
#
rancher logs
用于抓取指定容器名或容器 ID 的容器的日志。
#
名字 | 描述 |
---|---|
--service
,
-s
|
显示服务日志 |
--sub-log
|
显示服务副日志 |
--follow
,
-f
|
设置日志继续输出 |
--tail
value
|
显示日志的最后的几行 (缺省: 100) |
--since
value
|
显示自某个时间戳后的日志 |
--timestamps
,
-t
|
显示时间戳 |
#
rancher ps
命令显示 Rancher 中的所有服务或者容器。如果不附加任何选项,该命令会返回环境中所有的服务。
#
::: v-pre
名字 | 描述
---|----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--system
,
-s
| 显示系统资源
--containers
,
-c
| 显示容器
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.Service.Id}} {{.Service.Name}} {{.Service.LaunchConfig.ImageUuid}}'
::::
detail
一列提供了服务的当前状态。
#
rancher restart
可以用于重启任何主机、服务和容器。
#
名字 | 描述 |
---|---|
--type
value
|
指定重启的类型 (服务, 容器) |
--batch-size
value
|
一次中重启的容器数量 (缺省值: 1) |
--interval
value
|
两次重启的间隔时间,单位 ms (缺省值: 1000) |
注意: 服务里中需要包含了应用的名字,以保证指定了正确的服务。
#
rancher rm
命令用于删除资源,比如主机、应用栈、服务、容器或者卷。
#
名字 | 描述 |
---|---|
--type
value
|
指定删除的特定类型 |
--stop
,
-s
|
在删除前首先暂停资源 |
#
run
命令以 1 个容器的规模来部署一个服务。当创建服务时,如果想将其置于某个应用栈中, 需要提供
--name
和
stackName/serviceName
。如果
--name
没有提供,那么新建的服务的名字是 Docker 提供的容器名,且处于
Default
应用中。
如果要在主机上公开一个端口,那么该主机的端口必须可用。Rancher 会自动调度容器到端口可用的主机上。
#
当您使用
rancher run
创建一个服务时,服务的规模缺省是 1。可以使用
rancher scale
命令来扩容某个服务。可以通过名字或者 ID 来指定服务。
#
#
rancher stacks
命令可以操作环境中的应用。
#
::: v-pre
名字 | 描述
----|-----
--system
,
-s
| 显示系统资源
--quiet
,
-q
| 只显示 ID
--format
value |
json
或者自定义格式: '{{.ID}} {{.Stack.Name}}'
::::
#
名字 | 描述 |
---|---|
ls
|
列出应用 |
create
|
创建一个应用 |
#
rancher stacks ls
命令列出指定环境中的应用。
#
::: v-pre
名字 | 描述
----|-----
--system
,
-s
| 显示系统资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Stack.Name}}'
::::
#
rancher stacks create
命令用于创建新的应用。应用可以为空的或者从
docker-compose.yml
和
rancher-compose.yml
文件中创建。
#
名字 | 描述 |
---|---|
--start
|
在创建后启动应用 |
--system
,
-s
|
创建一个系统应用 |
--empty
,
-e
|
创建一个空的应用 |
--quiet
,
-q
|
只展示 IDs |
--docker-compose
value,
-f
value
|
Docker Compose 文件 (缺省: "docker-compose.yml") |
--rancher-compose
value,
-r
value
|
Rancher Compose 文件 (缺省: "rancher-compose.yml") |
#
rancher start
或
rancher activate
命令启动指定的资源类型,如主机、服务或容器。
#
名字 | 描述 |
---|---|
--type
value
|
启动指定的类型 (服务, 容器, 主机, 应用) |
注意: 为了保证指定了正确的服务,服务名中需要包含应用的名字。
#
rancher stop
或
rancher deactivate
命令用于停止指定的资源类型,如主机、服务和容器。
#
名字 | 描述 |
---|---|
--type
value
|
停止指定的资源类型 (服务, 容器, 主机, 应用) |
注意: 为了保证指定了正确的服务,服务名中需要包含应用的名字。
#
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
|
指定一个新的项目名字(缺省: 目录名) |
#
rancher volumes
命令用于操作卷。
#
::: v-pre
名字 | 描述
---|----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Volume.Name}}'
::::
#
名字 | 描述 |
---|---|
ls
|
列出卷 |
rm
|
删除一个卷 |
create
|
创建一个卷 |
#
rancher volume ls
命令列出环境中的所有卷。
#
::: v-pre
名字 | 描述
---|----
--all
,
-a
| 显示暂停/无效和最近移除的资源
--quiet
,
-q
| 只显示 IDs
--format
value |
json
或者自定义格式: '{{.ID}} {{.Volume.Name}}'
::::
#
rancher volume rm
命令用于删除卷。
#
rancher volume create
用于创建卷。
#
名字 | 描述 |
---|---|
--driver
value
|
指定卷驱动 |
--opt
value
|
设置驱动特定的 key/value 选项 |
#
rancher inspect
用于查看资源的详情。
#
::: v-pre
名字 | 描述
---|----
--type
value | 查看指定的类型 (服务, 容器, 主机)
--links
| 在资源详情中包含操作和链接的 URL
--format
value |
json
或者自定义格式: '{{.kind}}' (默认: "json")