# docker/awesome-compose

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/docker-awesome-compose).**

44,005 stars · 8,035 forks · HTML · cc0-1.0

## Links

- GitHub: https://github.com/docker/awesome-compose
- Homepage: https://docs.docker.com/compose/
- awesome-repositories: https://awesome-repositories.com/repository/docker-awesome-compose.md

## Topics

`awesome` `awesome-list` `docker-compose`

## Description

Awesome Compose is a collection of resources designed to demonstrate the orchestration of multi-container applications. It serves as a practical reference for using declarative configuration files to define, manage, and deploy complex software stacks, ensuring that services run consistently across development, testing, and production environments.

The project highlights the capabilities of container lifecycle management by providing examples of how to bundle software with its dependencies into isolated, portable units. It emphasizes the use of multi-stage build pipelines to optimize image sizes and the integration of environment variables to decouple application logic from host-specific settings. By leveraging these patterns, users can standardize development workspaces and automate the maintenance of interconnected service architectures.

Beyond basic orchestration, the repository covers the broader surface of container infrastructure, including the management of image registries, network configurations, and storage drivers. It also demonstrates how to execute build-time commands and embed complex scripts directly into configuration files to streamline the assembly of containerized environments.

## Tags

### DevOps & Infrastructure

- [Container Lifecycle Managers](https://awesome-repositories.com/f/devops-infrastructure/container-lifecycle-managers.md) — Translates high-level configuration into low-level operations for managing isolated software services.
- [Container Orchestration Tools](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-tools.md) — Control the startup, scaling, and file synchronization of containerized services by executing standard commands against defined configuration files to maintain desired application states. ([source](https://docs.docker.com/reference/cli/docker/compose/))
- [Containerization Engines](https://awesome-repositories.com/f/devops-infrastructure/containerization-engines.md) — Bundles software with all necessary dependencies into isolated units to ensure consistent execution across environments. ([source](https://docs.docker.com/get-started/docker-overview/))
- [Container Orchestration Configuration](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-configuration.md) — Define complex application stacks by merging multiple configuration files or pulling remote settings from version control systems to ensure consistent deployment across different environments. ([source](https://docs.docker.com/reference/cli/docker/compose/))
- [Container Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/container-orchestrators.md) — Distributes and executes containerized tasks across systems through a unified interface. ([source](https://docs.docker.com/get-started/docker-overview/))
- [Infrastructure Orchestration](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-orchestration.md) — Uses structured configuration files to define and manage the lifecycle of multi-container application stacks and their associated network dependencies.
- [Multi-Container Orchestration Tools](https://awesome-repositories.com/f/devops-infrastructure/multi-container-orchestration-tools.md) — Defines and deploys complex stacks of interconnected services to ensure consistent behavior across environments.
- [Container Build Orchestration](https://awesome-repositories.com/f/devops-infrastructure/container-build-orchestration.md) — Initialize new build stages by specifying base images and assigning aliases to organize complex multi-stage workflows into clear, manageable steps for your final output. ([source](https://docs.docker.com/reference/dockerfile/))
- [Container Management Interfaces](https://awesome-repositories.com/f/devops-infrastructure/container-management-interfaces.md) — Provides a unified terminal interface for managing the lifecycle of containers, images, and network resources. ([source](https://docs.docker.com/reference/cli/docker/))
- [Container Orchestration Interfaces](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-interfaces.md) — Manages the lifecycle, networking, and scaling of multi-container applications through declarative configuration.
- [Container Storage Drivers](https://awesome-repositories.com/f/devops-infrastructure/container-storage-drivers.md) — Manages application data and dependencies by stacking immutable image layers to optimize disk usage and speed up deployment processes.
- [Infrastructure as Code Frameworks](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code-frameworks.md) — Automates the setup and maintenance of application environments using declarative configuration files.
- [Build Pipelines](https://awesome-repositories.com/f/devops-infrastructure/build-pipelines.md) — Organizes complex software assembly into sequential, isolated steps that allow for efficient caching and minimal final deployment image sizes.
- [Container Management Daemons](https://awesome-repositories.com/f/devops-infrastructure/container-management-daemons.md) — Translates high-level configuration commands into low-level operations for creating, running, and monitoring isolated software services via a background process.
- [Software Packaging Standards](https://awesome-repositories.com/f/devops-infrastructure/software-packaging-standards.md) — Standardizes the bundling of applications with dependencies to guarantee portability across infrastructure.
- [Container Orchestration APIs](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-apis.md) — Control containers, images, and networks programmatically by sending requests to a standard interface that translates commands into actions for the underlying container engine. ([source](https://docs.docker.com/reference/api/engine/))
- [Image Registry Clients](https://awesome-repositories.com/f/devops-infrastructure/image-registry-clients.md) — Facilitates the storage and retrieval of versioned application templates from centralized repositories. ([source](https://docs.docker.com/get-started/docker-overview/))
- [Application Packaging Formats](https://awesome-repositories.com/f/devops-infrastructure/application-packaging-formats.md) — Provides a standardized method for bundling software with dependencies into isolated, portable units.
- [Build Execution Engines](https://awesome-repositories.com/f/devops-infrastructure/build-execution-engines.md) — Run shell or direct commands during the build process to control how software installs dependencies, compiles source code, or prepares files for deployment. ([source](https://docs.docker.com/reference/dockerfile/))
- [Container Runtime Interfaces](https://awesome-repositories.com/f/devops-infrastructure/container-runtime-interfaces.md) — Register additional execution environments to support specialized container formats or hardware requirements beyond the standard default runtime provided by the host system. ([source](https://docs.docker.com/reference/cli/dockerd/))
- [Remote Infrastructure Clients](https://awesome-repositories.com/f/devops-infrastructure/remote-infrastructure-clients.md) — Enables secure remote host connectivity and diagnostic logging through global client flags. ([source](https://docs.docker.com/reference/cli/docker/))

### Security & Cryptography

- [Sandboxed Execution Environments](https://awesome-repositories.com/f/security-cryptography/sandboxed-execution-environments.md) — Execute untrusted code inside secure virtual machines with dedicated filesystems and network access to protect the host system from malicious or unexpected software behavior. ([source](https://docs.docker.com/ai/sandboxes/))

### Software Engineering & Architecture

- [Infrastructure Configuration Languages](https://awesome-repositories.com/f/software-engineering-architecture/infrastructure-configuration-languages.md) — Provides a structured format for defining multi-service application stacks and resource dependencies.

### Development Tools & Productivity

- [Development Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/development-environment-managers.md) — Enables the creation of reproducible and portable workspaces for consistent team development.
