Docker compose compatible client to deploy to Rancher
Go Python Shell Makefile
Clone or download
ibuildthecloud Merge pull request #248 from deniseschannon/upgradefix
Confirm previous upgrade when starting the next upgrade
Latest commit 88b67b0 Apr 27, 2017

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.