No Description

Aanand Prasad d85688892c Merge pull request #1644 from aanand/fix-rm-bug 10 years ago
bin 620e29b63f Rename binary to docker-compose and config file to docker-compose.yml 10 years ago
compose 0b887b841f Stop 'rm' and 'ps' listing services not defined in the current file 10 years ago
contrib 745e838673 Add --help to subcommands in zsh completion 10 years ago
docs ae96fc0071 Support reading config from stdin. 10 years ago
experimental 52975eca6f Fixes 10 years ago
script 4c2112dbfd Merge pull request #1539 from bfirsh/add-image-affinity-to-test 10 years ago
tests 0b887b841f Stop 'rm' and 'ps' listing services not defined in the current file 10 years ago
.dockerignore c128e881c1 Add build and dist to dockerignore 10 years ago
.gitignore 620e29b63f Rename binary to docker-compose and config file to docker-compose.yml 10 years ago
CHANGES.md 5aa82a5519 Bump 1.4.0dev 10 years ago
CONTRIBUTING.md bc8d5923e7 Zsh completion for docker-compose 10 years ago
Dockerfile ae96e1af16 Use Docker 1.7.0 10 years ago
LICENSE 99064d17dd Docker, Inc. 11 years ago
MAINTAINERS 63941b8f6c Add Mazz to MAINTAINERS 10 years ago
MANIFEST.in 0e30d0085b add bash completion to sdist 10 years ago
README.md cfcc12692f Update dockerproject.com links 10 years ago
ROADMAP.md ec2966222a Document Swarm integration 10 years ago
SWARM.md 1a14449fe6 Update Swarm doc 10 years ago
requirements-dev.txt c39a0b0a2d Update pep8, fix errors and freeze requirements-dev.txt 10 years ago
requirements.txt ac56ef3d65 Update docker-py to 1.2.3 final 10 years ago
setup.py ac56ef3d65 Update docker-py to 1.2.3 final 10 years ago
tox.ini 4e0f555c58 make flake8 a bit more specific 10 years ago

README.md

Docker Compose

(Previously known as Fig)

Compose is a tool for defining and running multi-container applications with Docker. With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to be done to get it running.

Compose is great for development environments, staging servers, and CI. We don't recommend that you use it in production yet.

Using Compose is basically a three-step process.

  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 they can be run together in an isolated environment:
  3. Lastly, run docker-compose up and Compose will start and run your entire app.

A docker-compose.yml looks like this:

web:
  build: .
  ports:
   - "5000:5000"
  volumes:
   - .:/code
  links:
   - redis
redis:
  image: redis

Compose has commands for managing the whole lifecycle of your application:

  • 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

Installation and documentation

Contributing

Build Status

Want to help build Compose? Check out our contributing documentation.