Compose is a tool for defining and running complex 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.
Docker Compose is an officially supported tool to build multi-container docker applications. An application author or deployer creates a YAML file, generally named docker-compose.yml
, that lists the containers or services that make up the application, along with other Docker-specific resources such as named volumes or containers. Docker Compose supports some features of docker-swarm, though it also works well for single-host Docker installations.
This tag is appropriate for questions about setting up the docker-compose.yml
file and other questions about deployment or communication between containers managed by Docker Compose. It may be appropriate to tag your questions as docker as well. Please include a good extract of the docker-compose.yml
file as a code block in your question, enough to reproduce the issue you are asking about.
Remember that questions must be programming-related. Questions on how to install Compose, how to use Compose to manage existing prebuilt images, or how to run someone else's Compose file are not programming-related and are not on topic for Stack Overflow.
Key links:
- Overview of Docker Compose (
docs.docker.com
documentation) - Overview of docker-compose CLI (
docs.docker.com
documentation) - Compose file version 3 reference (
docs.docker.com
documentation, supported by all Compose implementations) - Compose specification reference (
docs.docker.com
documentation, supported only bydocker compose
extension but not standalonedocker-compose
)