Docker befördert Compose zur offenen Spezifikation

Das Dateiformat zum Definieren von Container-Anwendungen unterliegt künftig einer offenen Community, und Compose soll nicht auf Docker beschränkt bleiben.

In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Docker befördert Compose zur offenen Spezifikation

(Bild: Travel mania/Shutterstock.com)

Lesezeit: 3 Min.

Docker hat angekündigt, das Format von Compose künftig als offene Spezifikation weiterzuführen. Auf GitHub findet sich dazu neben der Definition des Dateiformats für die YAML-Dateien eine Referenzimplementierung der Spezifikation, eine Bibliothek in Go und eine Testsuite.

Docker arbeitet zudem unter anderem mit zusammen Amazon Web Services und Microsoft daran, Compose auf andere Plattformen im Cloud-nativen Umfeld wie Kubernetes und Amazon Elastic Container Service (ECS) zu erweitern. Sowohl auf AWS als auch auf Microsoft Azure lässt sich Compose bereits seit geraumer Zeit zum Bereitstellen mehrere Container nutzen.

Derzeit kommt Compose lediglich im Docker-Umfeld zum Einsatz und dient dort zum Definieren von Multi-Container-Anwendungen. Zwar ist Compose bereits ein Open-Source-Projekt, aber die Steuerung oblag bislang Docker. Für die separat auf GitHub gepflegte offene Spezifikation gilt stattdessen ein Open-Governance-Modell. Die Beschreibung des Dateiformats, das derzeit die Version 3,7 hat, findet sich in der Docker-Dokumentation. Eine Spezifikation dazu fehlt jedoch bisher.

Eine besondere Rolle für Compose spielt das zentrale YAML-Format. Die geöffnete Spezifikation sieht neben compose.yaml- beziehungsweise compose.yml-Dateien weiterhin aus Gründen der Rückwärtskompatiblität docker-compose.yaml- oder docker-compose.yml-Dateien vor. Diese enthalten zum derzeitigen Stand der Spezifikation als notwendige Elemente die version und die jeweiligen services. Darüber hinaus findet sich die Definition zu networks, volumes, configs und secrets.

Das Logo von Awesome Compose

(Bild: Docker)

Docker möchte die Vielseitigkeit von Compose mit einer kuratierten Sammlung von Beispielen in einem GitHub-Repository mit dem Namen "Awesome Compose" belegen. Laut dem Blogbeitrag zur Öffnung der Spezifikation finden sich allein gut 650.000 Compose-Dateien auf GitHub.

Erklärtes Ziel ist die Erweiterung von Compose auf andere Cloud-native Systeme wie Kubernetes. Dort ist vor allem Helm tonangebend für die Orchestrierung, aber es existiert bereits der Ansatz eines Compose-ähnlichen Vorgehens in dem Projekt kompose. Von daher ist der aktuelle Vorstoß durchaus begrüßenswert, zumal andere Techniken wie Helm komplexer sind und sich Compose offensichtlich recht großer Beliebtheit erfreut, auch wenn Docker insgesamt an Bedeutung verliert.

Ob die Öffnung der Spezifikation ein weiterer verzweifelter – und potenziell verspäteter – Schritt in Richtung Community ist wie die nach dem Verkauf des Enterprise-Geschäfts jüngst von Docker veröffentlichte Roadmap, steht dabei an untergeordneter Stelle.

Siehe dazu auf heise Developer:

(rme)