# Docker Compose

> Docker Compose defines and runs multi-container applications from a single YAML file: services, networks and volumes started with one command.

- Source: https://www.itwonderlab.com/docker-compose/
- Published: 2026-10-06
- Updated: 2026-10-06
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

**Docker Compose** describes an application made of several containers (services) in a `compose.yaml` file and manages the whole stack with `docker compose up` and `docker compose down`.

### Key concepts

- **Services**: the containers, built from a Dockerfile (`build:`) or pulled (`image:`).
- **Networks**: Compose creates one for the project, and services reach each other by service name.
- **Volumes**: named volumes keep data such as a database between runs.
- **Healthchecks and `depends_on`** control the start order.
- **Profiles** make services optional, and **Compose Watch** syncs code into running containers.

### Learn it

[Docker Compose tutorial](https://www.itwonderlab.com/docker-compose-tutorial/) and [Compose Watch](https://www.itwonderlab.com/docker-compose-watch/).
