Docker Compose
Docker Compose is a tool for defining and running multi-container applications. A single compose.yaml file declares services, networks, and volumes, and one command starts the entire stack. The original Python-based tool (docker-compose, v1) was rewritten in Go as a Docker CLI plugin, invoked as docker compose (without the hyphen).
The current release is Docker Compose v2. It integrates directly with the Docker CLI and shares code with the broader Docker engine, which the Python version could not. Features include watch mode for live-reloading services during development, profiles for conditionally starting subsets of services, and built-in build support that delegates to BuildKit. Compose is typically used for local development environments and CI pipelines, while Kubernetes or Swarm handle production orchestration.
The official documentation covers the file format, CLI reference, and migration from v1. The source code is on GitHub under the Apache 2.0 license.
Related technologies
Get an honest assessment
Not sure what you need yet? We'll take an honest look at where you stand and what makes sense as a next step.