Docker compose compatible client to deploy to Rancher
Go Python Shell Makefile
Latest commit 5291f33 Jan 10, 2017 @ibuildthecloud ibuildthecloud committed on GitHub Merge pull request #241 from joshwget/convert-v1-lb-selector
Convert v1 selector based LB to v2

Rancher Compose Build Status

Docker compose compatible client that deploys to Rancher.


Binaries are available for Linux, OS X, and Windows. Refer to the latest release.


Run make build to create ./bin/rancher-compose


Usage: rancher-compose [OPTIONS] COMMAND [arg...]

Docker-compose to Rancher

Version: v0.8.4

Rancher Labs, Inc.

--verbose, --debug              
--file, -f [--file option --file option]    Specify one or more alternate compose files (default: docker-compose.yml) [$COMPOSE_FILE]
--project-name, -p              Specify an alternate project name (default: directory name)
--url                   Specify the Rancher API endpoint URL [$RANCHER_URL]
--access-key                    Specify Rancher API access key [$RANCHER_ACCESS_KEY]
--secret-key                    Specify Rancher API secret key [$RANCHER_SECRET_KEY]
--rancher-file, -r              Specify an alternate Rancher compose file (default: rancher-compose.yml)
--env-file, -e              Specify a file from which to read environment variables
--help, -h                  show help
--version, -v                   print the version

create  Create all services but do not start
up      Bring all services up
start       Start services
logs        Get service logs
restart Restart services
stop, down  Stop services
scale       Scale services
rm      Delete services
pull        Pulls images for services
upgrade Perform rolling upgrade between services
help, h Shows a list of commands or help for one command

Compose compatibility

rancher-compose strives to be completely compatible with Docker Compose. Since rancher-compose is largely focused on running production workloads some behaviors between Docker Compose and Rancher Compose are different.

Deleting Services/Container

rancher-compose will not delete things by default. This means that if you do two up commands in a row, the second up will do nothing. This is because the first up will create everything and leave it running. Even if you do not pass -d to up, rancher-compose will not delete your services. To delete a service you must use rm.


Docker builds are supported in two ways. First is to set build: to a git or HTTP URL that is compatible with the remote parameter in The second approach is to set build: to a local directory and the build context will be uploaded to S3 and then built on demand on each node.

For S3 based builds to work you must setup AWS credentials.


For bugs, questions, comments, corrections, suggestions, etc., open an issue in rancher/rancher with a title starting with [rancher-compose].

Or just click here to create a new issue.


Copyright (c) 2014-2015 Rancher Labs, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.