Docker Open Sources Docker Compose Specification

Docker Apr 14, 2020

Docker announced that they open-sourced the Docker Compose specification. The open-sourcing of Compose enables the community and companies such as AWS and Azure to extend the Compose format.

A bit of Compose history. Compose was the first container orchestration tool, originally called Fig. Fig made it amazingly simple to write configuration files and orchestrate containers. Fig was acquired by Docker and rebranded as Compose. Compose enables developers to describe multiple resources like services, networks, volumes, etc. in a single YAML file. The Compose spec enabled easier definition of container resources and orchestration of these resources.

What is the Compose Spec

The Compose spec standardizes the definition of multi-container platform-agnostic applications. Whether running locally or in the public cloud, your workflow will remain the same.

The Compose Spec -

Compose for Developers

Compose for developers enables the deployment of a local set of containers with local volumes and live-refresh of content. Additional planned features will allow developers to mock configs and secrets. It provides better development and debugging of container-based applications.

Compose for Kubernetes

Deploying Kubernetes workloads with Compose allows for a simpler Compose model that can be translated into Kubernetes API payloads.  Projects such as Kompose and Compose on Kubernetes are already embracing this model. The Compose spec will expand on the features available and make the Compose file the single source of truth for development and deployment.

Compose for Cloud Providers

Some public cloud providers offer proprietary container hosting solutions based on in-house orchestrators and custom APIs. The Compose specification provides a simple model that can be mapped to these hosting solutions so that users can reuse Compose files that they already have and so that they do not need to learn custom configuration file formats. Platform-specific features can be added either using Compose extensions or a dedicated configuration file alongside the Compose file.

Compose Spec resources

The Compose Spec will expand workflows from your local environment to your target production environment. The Compose Spec is getting a lot of activity on GitHub, which means the community needs Maintainers to help with new issues and organizing Compose Spec features and efforts. If you are interested in helping to maintain the Compose Spec, then please drop a message on the Compose Specification slack channel on the CNCF Slack.

Awesome Compose

Additional resources for the Compose Spec include the Awesome Compose repo, which is a curated list of Compose projects ranging from getting to know Compose to more in-depth platform or application-specific examples.

Awesome Docker Compose samples. Contribute to docker/awesome-compose development by creating an account on GitHub.

Find out more about 56K.Cloud

We love Cloud, IoT, Containers, DevOps, and Infrastructure as Code. If you are interested in chatting connect with us on Twitter or drop us an email: info@56K.Cloud We hope you found this article helpful. If there is anything you would like to contribute or you have questions, please let us know!


Brian Christner

Brian Christner hails from Arizona but now resides in the Alps of Switzerland. Brian is a nominated member of the Docker Captain’s program and specializes in converting coffee into containers.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.