Skip to content
Commitpedia
Log in Join & edit

docker/compose

The source of Docker Compose, the tool that defines and runs multi-container applications from a compose.yaml file. Useful for release notes, the issue tracker and the examples directory.

Drafted with AI from official documentation. Scripts were run in a test environment and repository links verified. Awaiting a human check. Did it work for you? Last edited Outdated?

Edit history of docker/compose: 1 recorded edit
Edit history · 1 edit
Type
Repo
Edits
1
Editors
1
First issued
15 Oct 2026
Last edit
15 Oct 2026
Source
docker/compose

docker/compose

Stars
38.4k
Forks
5.9k
Language
Go
Licence
Apache-2.0
Last push
15 Oct 2026

On GitHub: Define and run multi-container applications with Docker

Open on GitHub

Docker Compose is the official tool for running several containers as one application: a web app, its database, a cache and a reverse proxy, all declared in one YAML file and started with a single command. The repository has about 38k stars and is maintained by Docker, Inc. under the Apache 2.0 licence. Version 2, the current line, is written in Go and runs as a plugin of the docker CLI, so the command is docker compose with a space.

What it does

Compose reads compose.yaml (or the older docker-compose.yml) and creates the networks, volumes and containers it describes, in dependency order. It names everything after the project directory, so several projects can run side by side without clashes. docker compose up starts, down removes, logs aggregates output, and watch rebuilds or syncs files when source code changes.

When to use it

  • Local development environments that need a database or other services next to the app.
  • Single-host deployments of small applications, where Kubernetes would be more than you need.
  • Reproducible test setups in CI pipelines, started and torn down per run.

For multi-host clusters, self-healing and rolling updates, look at Kubernetes or Docker Swarm instead; Compose files can be a starting point for both.

How to install or try it

Compose is included in Docker Desktop on macOS and Windows. On Linux it is the docker-compose-plugin package from Docker’s repository, installed alongside Docker Engine:

Check before you run this

  • Runs with administrator rights. Make sure you understand every line.
sudo apt install docker-compose-plugin
docker compose version

The repository’s docs folder links to the reference, and the awesome-compose project in the same GitHub organisation (docker/awesome-compose) has ready-made examples for common stacks.

Credit

Docker Compose is developed by Docker, Inc. and its contributors; it began as the independent project Fig by Orchard before Docker acquired it in 2014. Source and issue tracker: github.com/docker/compose. Documentation: docs.docker.com/compose.

Did this work for you?

No votes yet. Be the first.

If it did not work, the report form below tells the editors what went wrong.

See also

  • 0056 Docker Compose: run a small web app with a database Docker Compose describes several containers, their ports, volumes and environment in one compose.yaml file, then starts them all with docker compose up. Intermediate · Step by step · Linux, macOS, Windows Article Docker basics · Docker Compose 15 Oct 2026
  • 0250 Containerize a Node.js app and run it with PostgreSQL using Docker Compose Package a small Node.js web app in a multi-stage Docker image, then run it next to PostgreSQL with Docker Compose, named volumes,… Intermediate · Guided project · Linux, macOS, Windows Article Docker basics · Docker Compose · PostgreSQL 15 Oct 2026
  • 0331 docker compose for an app with a PostgreSQL database A compose.yaml that runs your application next to a PostgreSQL container, with a named volume for the data, a health check so… Intermediate · Step by step · Linux, macOS, Windows Article Docker Compose · Install & connect 15 Oct 2026

History

Every saved edit is kept. The plot on the sleeve draws one line per edit. Open any edit to see exactly what changed.

  1. Dominik +1,976 chars

Report a problem

Something wrong, unsafe or copied? Tell the editors.
What is wrong?