2015-06-07 22:59:58 +02:00
|
|
|
<!--[metadata]>
|
|
|
|
+++
|
|
|
|
title = "Docker Compose"
|
|
|
|
description = "How to install Docker Compose"
|
|
|
|
keywords = ["compose, orchestration, install, installation, docker, documentation"]
|
|
|
|
[menu.main]
|
|
|
|
parent="mn_install"
|
|
|
|
weight=4
|
|
|
|
+++
|
|
|
|
<![end-metadata]-->
|
2014-01-27 16:03:21 +01:00
|
|
|
|
|
|
|
|
2015-06-07 22:59:58 +02:00
|
|
|
# Install Docker Compose
|
2014-01-27 16:03:21 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
You can run Compose on OS X and 64-bit Linux. It is currently not supported on
|
|
|
|
the Windows operating system. To install Compose, you'll need to install Docker
|
2015-08-24 21:25:25 +02:00
|
|
|
first.
|
2015-01-31 02:16:48 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
To install Compose, do the following:
|
2015-01-31 02:16:48 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
1. Install Docker Engine version 1.7.1 or greater:
|
2015-01-31 02:16:48 +01:00
|
|
|
|
2015-09-02 06:11:43 +02:00
|
|
|
* <a href="https://docs.docker.com/installation/mac/" target="_blank">Mac OS X installation</a> (Toolbox installation includes both Engine and Compose)
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
* <a href="https://docs.docker.com/installation/ubuntulinux/" target="_blank">Ubuntu installation</a>
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
* <a href="https://docs.docker.com/installation/" target="_blank">other system installations</a>
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
2. Mac OS X users are done installing. Others should continue to the next step.
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-09-02 06:11:43 +02:00
|
|
|
3. Go to the <a href="https://github.com/docker/compose/releases" target="_blank">Compose repository release page on GitHub</a>.
|
|
|
|
|
|
|
|
4. Follow the instructions from the release page and run the `curl` command in your terminal.
|
2014-01-27 16:03:21 +01:00
|
|
|
|
2015-09-02 06:11:43 +02:00
|
|
|
> Note: If you get a "Permission denied" error, your `/usr/local/bin` directory
|
|
|
|
probably isn't writable and you'll need to install Compose as the superuser. Run
|
|
|
|
`sudo -i`, then the two commands below, then `exit`.
|
2014-01-27 16:03:21 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
The command has the following format:
|
2014-03-03 16:20:09 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
If you have problems installing with `curl`, see
|
|
|
|
[Alternative Install Options](#alternative-install-options).
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
5. Apply executable permissions to the binary:
|
2015-03-27 01:17:36 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
$ chmod +x /usr/local/bin/docker-compose
|
2014-12-25 11:16:45 +01:00
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
6. Optionally, install [command completion](completion.md) for the
|
2015-08-05 19:38:40 +02:00
|
|
|
`bash` and `zsh` shell.
|
2015-07-28 16:31:18 +02:00
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
7. Test the installation.
|
2014-03-03 16:20:09 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
$ docker-compose --version
|
2015-09-22 16:31:42 +02:00
|
|
|
docker-compose version: 1.4.2
|
2014-01-27 16:03:21 +01:00
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
|
|
|
|
## Alternative install options
|
|
|
|
|
|
|
|
### Install using pip
|
|
|
|
|
|
|
|
$ sudo pip install -U docker-compose
|
|
|
|
|
|
|
|
|
|
|
|
### Install as a container
|
|
|
|
|
|
|
|
Compose can also be run inside a container, from a small bash script wrapper.
|
|
|
|
To install compose as a container run:
|
|
|
|
|
2015-10-06 21:18:58 +02:00
|
|
|
$ curl -L https://github.com/docker/compose/releases/download/1.5.0/run.sh > /usr/local/bin/docker-compose
|
2015-07-26 01:47:36 +02:00
|
|
|
$ chmod +x /usr/local/bin/docker-compose
|
|
|
|
|
2015-10-08 16:50:15 +02:00
|
|
|
## Master builds
|
|
|
|
|
|
|
|
If you're interested in trying out a pre-release build you can download a
|
|
|
|
binary from https://dl.bintray.com/docker-compose/master/. Pre-release
|
|
|
|
builds allow you to try out new features before they are released, but may
|
|
|
|
be less stable.
|
|
|
|
|
2015-07-26 01:47:36 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
## Upgrading
|
2015-02-25 09:43:33 +01:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
If you're upgrading from Compose 1.2 or earlier, you'll need to remove or migrate
|
|
|
|
your existing containers after upgrading Compose. This is because, as of version
|
|
|
|
1.3, Compose uses Docker labels to keep track of containers, and so they need to
|
|
|
|
be recreated with labels added.
|
2015-06-15 19:46:01 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
If Compose detects containers that were created without labels, it will refuse
|
|
|
|
to run so that you don't end up with two sets of them. If you want to keep using
|
|
|
|
your existing containers (for example, because they have data volumes you want
|
|
|
|
to preserve) you can migrate them with the following command:
|
2015-06-15 19:46:01 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
$ docker-compose migrate-to-labels
|
2015-06-15 19:46:01 +02:00
|
|
|
|
2015-09-02 06:11:43 +02:00
|
|
|
Alternatively, if you're not worried about keeping them, you can remove them.
|
2015-08-05 19:38:40 +02:00
|
|
|
Compose will just create new ones.
|
2015-06-15 19:46:01 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
$ docker rm -f -v myapp_web_1 myapp_db_1 ...
|
2015-06-15 19:46:01 +02:00
|
|
|
|
2015-06-30 18:21:36 +02:00
|
|
|
|
|
|
|
## Uninstallation
|
|
|
|
|
|
|
|
To uninstall Docker Compose if you installed using `curl`:
|
|
|
|
|
|
|
|
$ rm /usr/local/bin/docker-compose
|
|
|
|
|
|
|
|
|
|
|
|
To uninstall Docker Compose if you installed using `pip`:
|
|
|
|
|
|
|
|
$ pip uninstall docker-compose
|
2015-08-24 21:25:25 +02:00
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
>**Note**: If you get a "Permission denied" error using either of the above
|
|
|
|
>methods, you probably do not have the proper permissions to remove
|
|
|
|
>`docker-compose`. To force the removal, prepend `sudo` to either of the above
|
|
|
|
>commands and run again.
|
2015-06-30 18:21:36 +02:00
|
|
|
|
|
|
|
|
2015-08-05 19:38:40 +02:00
|
|
|
## Where to go next
|
2015-02-25 09:43:33 +01:00
|
|
|
|
2015-06-16 05:52:55 +02:00
|
|
|
- [User guide](/)
|
2015-05-12 13:44:43 +02:00
|
|
|
- [Get started with Django](django.md)
|
|
|
|
- [Get started with Rails](rails.md)
|
2015-09-16 17:01:43 +02:00
|
|
|
- [Get started with WordPress](wordpress.md)
|
2015-08-11 18:38:49 +02:00
|
|
|
- [Command line reference](/reference)
|
2015-02-25 09:43:33 +01:00
|
|
|
- [Yaml file reference](yml.md)
|