diff --git a/README.md b/README.md index c9ea28f71..d0d23d8af 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,86 @@ Docker Compose ============== +[![Build Status](https://ci-next.docker.com/public/buildStatus/icon?job=compose/master)](https://ci-next.docker.com/public/job/compose/job/master/) + ![Docker Compose](logo.png?raw=true "Docker Compose Logo") -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](https://github.com/docker/docker.github.io/blob/master/compose/index.md#features). +Docker Compose is a tool for running multi-container applications on Docker +defined using the [Compose file format](https://compose-spec.io). +A Compose file is used to define how the one or more containers that make up +your application are configured. +Once you have a Compose file, you can create and start your application with a +single command: `docker-compose up`. -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](https://github.com/docker/docker.github.io/blob/master/compose/index.md#common-use-cases). +Compose files can be used to deploy applications locally, or to the cloud on +[Amazon ECS](https://aws.amazon.com/ecs) or +[Microsoft ACI](https://azure.microsoft.com/services/container-instances/) using +the Docker CLI. You can read more about how to do this: +- [Compose for Amazon ECS](https://docs.docker.com/engine/context/ecs-integration/) +- [Compose for Microsoft ACI](https://docs.docker.com/engine/context/aci-integration/) -Using Compose is basically a three-step process. +Where to get Docker Compose +---------------------------- +### Windows and macOS + +Docker Compose is included in +[Docker Desktop](https://www.docker.com/products/docker-desktop) +for Windows and macOS. + +### Linux + +You can download Docker Compose binaries from the +[release page](https://github.com/docker/compose/releases) on this repository. + +### Using pip + +If your platform is not supported, you can download Docker Compose using `pip`: + +```console +pip install docker-compose +``` + +> **Note:** Docker Compose requires Python 3.6 or later. + +Quick Start +----------- + +Using Docker Compose is basically a three-step process: 1. Define your app's environment with a `Dockerfile` so it can be -reproduced anywhere. + 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. + 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: +A Compose file looks like this: - version: '2' +```yaml +services: + web: + build: . + ports: + - "5000:5000" + volumes: + - .:/code + redis: + image: redis +``` - services: - web: - build: . - ports: - - "5000:5000" - volumes: - - .:/code - redis: - image: redis +You can find examples of Compose applications in our +[Awesome Compose repository](https://github.com/docker/awesome-compose). -For more information about the Compose file, see the -[Compose file reference](https://github.com/docker/docker.github.io/blob/master/compose/compose-file/compose-versioning.md). - -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](https://docs.docker.com/compose/). -- 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/choose). Thank you! +For more information about the Compose format, see the +[Compose file reference](https://docs.docker.com/compose/compose-file/). Contributing ------------ -[![Build Status](https://ci-next.docker.com/public/buildStatus/icon?job=compose/master)](https://ci-next.docker.com/public/job/compose/job/master/) +Want to help develop Docker Compose? Check out our +[contributing documentation](https://github.com/docker/compose/blob/master/CONTRIBUTING.md). -Want to help build Compose? Check out our [contributing documentation](https://github.com/docker/compose/blob/master/CONTRIBUTING.md). +If you find an issue, please report it on the +[issue tracker](https://github.com/docker/compose/issues/new/choose). Releasing ---------