命令参数


    Rancher Compose 支持所有 Docker Compose 支持的命令。

    无论何时您使用 Rancher Compose 命令,这些不同的选项您都可以使用

    NameDescription
    —verbose, —debug
    —file, -f [–file option –file option]指定一个compose 文件 (默认: docker-compose.yml) [$COMPOSE_FILE]
    —project-name, -p指定一个项目名称 (默认: directory name)
    —url执行 Rancher API接口 URL [$RANCHER_URL]
    —access-key指定 Rancher API access key [$RANCHER_ACCESS_KEY]
    —secret-key指定 Rancher API secret key [$RANCHER_SECRET_KEY]
    , -r指定一个 Rancher Compose 文件 (默认: rancher-compose.yml)
    —env-file, -e指定一个环境变量配置文件
    —help, -h输出帮助文本
    —version, -v输出 Rancher Compose 版本

    例子

    准备开始后,您需要创建一个 docker-compose.yml 文件和一个可选的 rancher-compose.yml 文件,如果没有 rancher-compose.yml 文件,那么所有服务默认只分配1个容器

    样例文件 docker-compose.yml
    样例文件 rancher-compose.yml
    1. # Reference the service that you want to extend
    2. version: '2'
    3. services:
    4. web:
    5. scale: 2
    6. db:
    7. scale: 1

    当您的这些文件创建好后,您就可以启动这些服务到 Rancher 服务了

    1. # Creating and starting services without environment variables and selecting a stack
    2. # If the stack does not exist in Rancher, it will be created in Rancher
    3. $ rancher-compose --url URL_of_Rancher --access-key <username_of_environment_api_key> --secret-key <password_of_environment_api_key> -p stack1 up
    4.  
    5. # Creating and starting services with environment variables already set
    6. $ rancher-compose -p stack1 up
    7.  
    8. # To change the scale of an existing service
    9. $ rancher-compose -p stack1 scale web=3
    10.  
    11. $ rancher-compose -p stack1 up web

    使用 —env-file 选项

    样例 secrets 文件
    样例文件 docker-compose.yml
    1. version: '2'
    2. services:
    3. db:
    4. image: mysql
    5. environment:
    6. # Just like Docker Compose, if there is only a key, Rancher Compose will resolve to
    7. # the values on the machine or the file passed in using --env-file
    8. MYSQL_ROOT_PASSWORD:

    您可以启动服务时传入 secrets 文件

    1. $ rancher-compose --env-file secrets up -d

    在传入一个文件并一个环境变量只含一个key,Rancher Compose 将从这个文件或者从运行 Rancher Compose 命令的机器中的系统环境变量中提取这个值。当在文件和系统环境变量中同时存在同一个变量时,Rancher Compose 使用文件中的值。

    up命令

    NameDescription
    —pull, -p升级前先在各个已有这个镜像的主机拉取最新镜像
    -d不要阻塞或输出日志
    —upgrade, -u, —recreate当服务改变时升级
    —force-upgrade, —force-recreate强制升级服务,不管服务是否改变
    —confirm-upgrade, -c确认升级成功并删除老容器
    —rollback, -r回滚到上一个已部署的版本
    每次升级多少个容器
    —interval "1000"升级间隔

    当您运行 Rancher Compose 的 up 命令时,在所有任务完成后进程会继续运行。如果您希望任务完成后进程退出,那么您需要传入 -d 选项,防止阻塞和输出日志。

    阅读更多关于 .

    start命令

    如果您希望任务完成后进程退出,那么您需要传入 -d 选项,防止阻塞和输出日志。

    logs命令

    NameDescription
    —follow持续输出日志

    restart命令

    NameDescription
    —batch-size "1"每次重启多少个容器
    —interval "0"重启间隔

    stop 与 scale

    1. # To change the scale of an existing service
    2. $ rancher-compose -p stack1 scale service1=3

    rm 命令

    NameDescription
    —force, -f允许删除所有服务
    -v同时移除关联的容易

    当移除服务时,Rancher Compose 仅移除在 docker-compose.yml 文件中出现的服务。如果有其他的服务在Rancher 的 stack 里,他们不会被移除,因为 Rancher Compose 不知道他们的存在。

    所以 stack 不会被移除,因为 Rancher Compose 不知道stack 里是否还有其他容器。

    缺省情况下,附加到容器的卷不会被移除。您可以通过 docker volume ls 查看所有的卷。

    pull 命令

    NameDescription
    —cached, -c只更新存在该镜像缓存的主机,不要拉取新的
    1. # Pulls new images for all services located in the docker-compose.yml file on ALL hosts in the environment
    2. $ rancher-compose pull
    3.  
    4. # Pulls new images for all services located in docker-compose.yml file on hosts that already have the image
    5. $ rancher-compose pull --cached

    注意: 不同于 docker-compose pull, 您不可以指定拉取哪些服务的镜像,Rancher Compose 会拉取所有在 docker-compose.yml 里的服务镜像。

    upgrade 命令

    您可以使用 Rancher Compose 升级在 Rancher 里的服务。请阅读更多关于在何时和怎样.