Docker’s Compose specification is now an open standard
System for creating applications from multiple containers is now available on GitHub for all to contribute to
Docker Compose, the system created by Docker to define multi-container applications, is now to be developed as an open standard.
The Compose Specification, as the new standard is called, is meant to allow Compose-created apps to work on other multi-container definition systems on platforms such as Kubernetes and Amazon Elastic Container Service.
Until now, Compose existed only in its Docker implementation, and as a file format reference. Although it was open source, it was still chiefly controlled by Docker (the company) and used only in Docker (the product). Docker’s plan is to make the spec available as an open standard, and to solicit for maintainers who wish to help build tooling and expand support for the standard.
Compose is less complex than other multi-container app solutions, such as Kubernetes Helm, and remains popular with developers who need only enough functionality to coordinate containers together into an app. (Docker swarm mode has the same appeal, as a lightweight alternative to Kubernetes.) Examples of common composite applications created with Docker Compose are readily available on GitHub.
In a blog post, Docker noted that partners for the Compose Specification include Amazon Web Services and Microsoft, although other organisations were not named explicitly. Both of those companies offer container services in their cloud platforms that use Docker Compose files natively — Amazon by way of Amazon Elastic Container Service, and Microsoft through the Azure Container Registry (which also supports Kubernetes Config files). The draft Compose Specification is available in an initial form on GitHub.