skillfed

docker-compose

Multi-container orchestration for Docker

docker-compose v1.29.2 1.2M downloads/30d#4,232 on PyPI38,090
Permissive license Apache License 2.0 Active released

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-compose

uv

uv add docker-compose

poetry

poetry add docker-compose

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

multi-container docker orchestrationdocker compose yaml configurationrun multiple docker containers togetherdocker application deployment toolcontainer orchestration clidocker-compose file managementlocal docker environment setup
container-orchestrationdocker-toolingdevops

More Distributed Computing packages