2015-01-20 16:23:16 +01:00
Docker Compose
==============
2015-09-14 23:46:48 +02:00
![Docker Compose ](logo.png?raw=true "Docker Compose Logo" )
2015-10-09 17:08:23 +02:00
Compose is a tool for defining and running multi-container Docker applications.
2015-10-30 18:27:06 +01:00
With Compose, you use a Compose file to configure your application's services.
Then, using a single command, you create and start all the services
2015-10-09 17:08:23 +02:00
from your configuration. To learn more about all the features of Compose
2016-02-06 22:10:22 +01:00
see [the list of features ](https://github.com/docker/compose/blob/release/docs/overview.md#features ).
2015-02-16 20:21:17 +01:00
2015-10-09 17:08:23 +02:00
Compose is great for development, testing, and staging environments, as well as
CI workflows. You can learn more about each case in
2016-02-06 22:10:22 +01:00
[Common Use Cases ](https://github.com/docker/compose/blob/release/docs/overview.md#common-use-cases ).
2015-02-16 20:21:17 +01:00
Using Compose is basically a three-step process.
2015-04-27 15:58:20 +02:00
1. Define your app's environment with a `Dockerfile` so it can be
reproduced anywhere.
2. Define the services that make up your app in `docker-compose.yml` so
2015-02-16 20:21:17 +01:00
they can be run together in an isolated environment:
2015-04-27 15:58:20 +02:00
3. Lastly, run `docker-compose up` and Compose will start and run your entire app.
A `docker-compose.yml` looks like this:
2016-04-14 11:49:10 +02:00
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: redis
2013-12-31 17:31:40 +01:00
2015-10-09 17:08:23 +02:00
For more information about the Compose file, see the
2016-02-06 22:10:22 +01:00
[Compose file reference ](https://github.com/docker/compose/blob/release/docs/compose-file.md )
2015-10-09 17:08:23 +02:00
2015-02-16 20:21:17 +01:00
Compose has commands for managing the whole lifecycle of your application:
2013-12-31 17:31:40 +01:00
2015-02-16 20:21:17 +01:00
* Start, stop and rebuild services
* View the status of running services
* Stream the log output of running services
* Run a one-off command on a service
2013-12-31 17:31:40 +01:00
2014-01-27 19:11:27 +01:00
Installation and documentation
------------------------------
2014-01-02 15:55:48 +01:00
2015-12-21 01:52:54 +01:00
- Full documentation is available on [Docker's website ](https://docs.docker.com/compose/ ).
2015-04-25 00:26:56 +02:00
- If you have any questions, you can talk in real-time with other developers in the #docker -compose IRC channel on Freenode. [Click here to join using IRCCloud. ](https://www.irccloud.com/invite?hostname=irc.freenode.net&channel=%23docker-compose )
2015-10-28 15:59:43 +01:00
- Code repository for Compose is on [Github ](https://github.com/docker/compose )
- If you find any problems please fill out an [issue ](https://github.com/docker/compose/issues/new )
2015-03-20 02:05:45 +01:00
Contributing
------------
2015-06-03 22:59:12 +02:00
[![Build Status ](http://jenkins.dockerproject.org/buildStatus/icon?job=Compose%20Master )](http://jenkins.dockerproject.org/job/Compose%20Master/)
2015-03-20 02:05:45 +01:00
Want to help build Compose? Check out our [contributing documentation ](https://github.com/docker/compose/blob/master/CONTRIBUTING.md ).
2015-07-01 16:57:27 +02:00
Releasing
---------
2015-10-15 09:09:57 +02:00
Releases are built by maintainers, following an outline of the [release process ](https://github.com/docker/compose/blob/master/project/RELEASE-PROCESS.md ).