docker-compose
Multi-container orchestration for Docker
What it is and what it does
Docker Compose is a Python-based orchestration tool that reads a declarative YAML file (docker-compose.yml) describing your application's services, networks, and volumes, then provisions and runs all containers with a single command. It simplifies local development and testing by eliminating the need to manually start each container and manage their networking.
The tool depends on the Docker daemon and wraps the Docker API through the docker Python library, adding higher-level abstractions for multi-container workflows. It includes support for environment variable substitution via python-dotenv, schema validation with jsonschema, and interactive terminal handling through dockerpty. While Docker Desktop bundles a native version on Windows and macOS, this pip-installable package serves Linux users and environments where the desktop distribution is unavailable.
Use it for:
- Define a local development environment with web, database, and cache services in a single docker-compose.yml file and start all with one command.
- Deploy a multi-service application to Amazon ECS or Microsoft ACI using Compose file definitions via the Docker CLI.
- Run integration tests that require multiple interdependent containers without manually orchestrating startup and teardown.
- Share reproducible application configurations across team members by version-controlling the Compose file.
- Manage environment-specific configurations (dev, staging, production) using Compose override files and variable substitution.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Docker Compose is a command-line tool for defining and running multi-container Docker applications using a declarative YAML configuration file.
Yes, but with caution on version age. Docker Compose 1.29.2 is a stable, production-ready tool with no known vulnerabilities and low install friction. However, the latest release date (2021-05-10) is significantly outdated. If you need the Python package interface or are on Linux without Docker Desktop, this version works, but verify compatibility with your current Docker daemon and Python version. For new projects, consider whether Docker Compose v2 (the Go-based successor) better suits your needs.
Install
docker-compose on PyPI
pip
pip install docker-composeuv
uv add docker-composepoetry
poetry add docker-composeInstalling docker-compose
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with recent commits and carries no known vulnerabilities. However, the latest release is from 2021-05-10, making this version over 5 years old relative to the current date.
License in practice
Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions—suitable for most development and deployment scenarios.
Quickstart
pip install docker-compose==1.29.2
from compose.cli.main import main
main(['up'])
Requires Python 3.4 or later and a working Docker daemon installation on the host system.
Verify before relying
- Whether this 1.29.2 release remains compatible with current Docker versions and modern Python 3.x releases.
- Status of the newer Docker Compose v2 (Go-based) and whether this Python package is still the recommended installation method.
- Specific bug fixes or security patches in 1.29.2 relative to earlier 1.29.x releases.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.4) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — PyYAML, distro, docker, dockerpty, docopt, jsonschema, python-dotenv, requests, texttable, websocket-client, backports.ssl-match-hostname, cached-property, colorama |
| Maintenance | actively maintained — 1,922 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,196,300/month — #4,232 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: docker_compose-1.29.2-py2.py3-none-any.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
cementCement is a Python application framework…
permissive · top 15,000 on PyPI
podman-composePodman Compose runs Docker Compose…
copyleft · top 15,000 on PyPI
pycomposefileParses and deserializes Docker Compose files…
permissive · top 5,000 on PyPI
tox-dockerA tox plugin that manages Docker container…
permissive · top 15,000 on PyPI
onyx-devtoolsA command-line utility that provides developer…
permissive · top 15,000 on PyPI
pytest-dockerpytest-docker provides pytest fixtures that…
permissive · top 5,000 on PyPI
honchoHoncho runs and manages multiple processes…
permissive · top 5,000 on PyPI
ecs-deployecs-deploy is a CLI tool that simplifies Amazon…
permissive · top 15,000 on PyPI
prefect-dockerProvides Docker task execution and container…
permissive · top 5,000 on PyPI
cogCog packages machine learning models into…
permissive · top 5,000 on PyPI