docker/compose
Define and run multi-container applications with Docker https://docs.docker.com/compose/
50M+
Important
📣 Docker Compose is now included as part of the Docker official image 🎉This image contains Compose v1, which has reached end of life (EOL) and is no longer supported. This image’s tags are frozen and are not updated.
If you want to use Compose directly from a container you can use the docker official image:
>docker run --rm -it docker compose version` Docker Compose version v2.20.2`
If you want to embed Compose inside your own image, you can use the docker/compose-bin image to copy the Compose binary into your image:
# syntax=docker/dockerfile:1 FROM my-image COPY --from=docker/compose-bin:v2.20.2 /docker-compose /usr/bin/compose RUN compose version
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.
Dockerfile
so it can be
reproduced anywhere.docker-compose.yml
so
they can be run together in an isolated environment.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:
Want to help build Compose? Check out our contributing documentation.
Releases are built by maintainers, following an outline of the release process.
docker pull docker/compose