Define and run multi-container applications with Docker
Go to file
Anca Iordache 86dad9247d
Merge pull request #7751 from aiordache/1.27.1_changelog
Update changelog for release 1.27.1
2020-09-11 14:40:21 +02:00
.github Add Anca to Maintainers 2020-08-31 21:40:11 +02:00
bin Removed Python2 support 2020-06-03 17:37:47 +02:00
compose Added merge for max_replicas_per_node 2020-09-11 08:01:24 -04:00
contrib Removed Python2 support 2020-08-11 17:45:13 +07:00
docs
experimental
project
pyinstaller
script Add docker.github.io documentation checker and update doc message 2020-09-07 15:39:15 +02:00
tests Added merge for max_replicas_per_node 2020-09-11 08:01:24 -04:00
.dockerignore
.gitignore
.pre-commit-config.yaml Removed Python2 support 2020-08-11 17:45:13 +07:00
CHANGELOG.md Update changelog for 1.27.2 2020-09-10 18:10:37 +02:00
CHANGES.md
CONTRIBUTING.md
Dockerfile Bump virtualenv from 20.0.29 to 20.0.30 (#7657) 2020-08-11 15:04:11 +02:00
Jenkinsfile General bumps 2020-04-27 17:34:36 +02:00
LICENSE
MAINTAINERS Add Anca to Maintainers 2020-08-31 21:40:11 +02:00
MANIFEST.in Pin all indirect dependencies 2020-06-04 13:43:27 +02:00
README.md README: Remove Python 2 deprecation message 2020-06-03 12:23:20 +02:00
Release.Jenkinsfile Update jenkins node filter 2020-08-11 20:50:12 +02:00
SWARM.md
docker-compose-entrypoint.sh
docker-compose.spec rename schema to compose_spec 2020-07-09 15:52:46 +02:00
docker-compose_darwin.spec Removed Python2 support 2020-08-11 17:45:13 +07:00
logo.png
requirements-build.txt Bump pyinstaller to 3.6 2020-01-16 13:46:47 +01:00
requirements-dev.txt Bump pytest-cov from 2.10.0 to 2.10.1 2020-08-31 10:52:54 +02:00
requirements-indirect.txt Bump attrs from 19.3.0 to 20.1.0 2020-08-31 10:54:28 +02:00
requirements.txt Use docker-py's default api version for engine queries 2020-08-21 13:25:59 +02:00
setup.cfg
setup.py Fix bump of docker-py on `setup.py` 2020-08-31 21:55:56 +02:00
tox.ini Merge pull request #7031 from venthur/remove_python2 2020-06-10 17:03:19 +02:00

README.md

Docker Compose

Docker Compose

Compose is a tool for defining and running multi-container Docker applications. 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 from your configuration. To learn more about all the features of Compose see the list of features.

Compose is great for development, testing, and staging environments, as well as CI workflows. You can learn more about each case in Common Use Cases.

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:

version: '2'

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

For more information about the Compose file, see the Compose file reference.

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

  • Full documentation is available on Docker's website.
  • Code repository for Compose is on GitHub.
  • If you find any problems please fill out an issue. Thank you!

Contributing

Build Status

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

Releasing

Releases are built by maintainers, following an outline of the release process.