Docker Compose: Multi-container Docker application orchestration
YAML-defined container lifecycle management and orchestration tool.
Learn more about Docker Compose
Docker Compose is a container orchestration tool written in Go that reads YAML-formatted compose files to define and manage multi-container Docker applications. It implements the Compose specification, which provides a standardized format for describing service configurations, networking, volumes, and environment variables across containers. The tool handles container lifecycle management, networking setup, and volume mounting through a command-line interface. Docker Compose is commonly used in development environments, testing workflows, and local application deployment scenarios where multiple interdependent services need to run together.
Docker CLI Plugin
Written in Go and distributed as a compiled binary that integrates directly into Docker CLI. No separate Python runtime or installation required compared to legacy v1.
Compose Specification Compliance
Implements the standardized compose-spec.io format for portable application definitions. Ensures consistent behavior across environments and interoperability with other compliant tools.
Single Command Deployment
Launches entire application stacks with a single command, handling container creation, networking, and volume management. Reduces complex orchestration to simple declarative configuration files.
from compose.cli.main import TopLevelCommand
from compose.project import Project
cli = TopLevelCommand()
project = cli.get_project('.')
# Start all services defined in compose.yaml
project.up()
# Check service status
for container in project.containers():
print(f"{container.name}: {container.status}")Fixes progress UI terminal width adaptation and restores runtime flags support with improved command completion.
- –Fixed progress UI to adapt to terminal width
- –Removed warning when no explicit build has been requested
- –Restored runtime_flags support in models
- –Added service name completion to down command
- –Fixed tilde in --env-file paths expanded to user home directory
Restores COMPOSE_COMPATIBILITY support and fixes quiet mode and SDK examples.
- –Restored support for COMPOSE_COMPATIBILITY
- –Fixed grammatical errors and improve clarity in code
- –Fixed broken run --quiet
- –Fixed SDK example
- –Added a check buildx version is set before comparing it
Major release introducing official SDK support and replacing internal builder with Docker Bake integration.
- –Compose can now officially be used as a SDK to be integrated into third-party softwares
- –Internal builder has been removed, build is delegated to Docker Bake
- –Drop support for internal buildkit builder
- –Setup Compose service using functional parameters
- –Introduce abstractions to support SDK usage without requiring Docker CLI
See how people are using Docker Compose
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
Portainer
Web-based management platform for multi-orchestrator container environments.
kube-state-metrics
Generates Prometheus metrics from Kubernetes API objects for cluster observability.
Uptime Kuma
Node.js application monitoring HTTP, TCP, DNS, and ping endpoints.
Dockge
Self-hosted Docker Compose manager with real-time terminal streaming.
node_exporter
Collects Unix system metrics for Prometheus monitoring.