Docker Compose YAML-Formatierer
Führung
Docker Compose YAML-Formatierer
Fügen Sie docker-compose.yml und erhalten Sie sofort eine saubere, konsistent formatierte Datei mit Diensten, Netzwerken und Volumen, die entsprechend den Docker Compose-Standardanforderungen sortiert sind. Der Formatter validiert die Datei gegen die moderne Compose-Spezifikation, markiert veraltete Schlüssel wie den alten obersten version Feld oder die Legacy- linksund warnt vor unbekannten Dienstoptionen, bevor sie zu Laufzeitfehlern führen.
Nutzung
- Fügen Sie Ihre
docker-compose.ymlin das Eingabefeld ein oder klicken Sie auf einen der Beispiellinks, um einen Beispielstack zu laden. - Wählen Sie eine Schlüsselreihenfolge — Compose-Standard sortiert Dienste in der Reihenfolge, die Compose-Nutzer erwarten (Bild, Neustart, Umgebung, Ports, Volumen, …), Alphabetisch sortiert streng alphabetisch oder Beibehalten beibehält Ihre ursprüngliche Reihenfolge.
- Wählen Sie eine Einrückung von 2 oder 4 Leerzeichen und schalten Sie die Validierung gegen Compose-Spezifikation ein oder aus.
- Lesen Sie das Validierungspanel für Fehler, Warnungen über veraltete Schlüssel und Informationen zu impliziten Netzwerkreferenzen.
- Kopieren Sie das Ergebnis oder laden Sie es als
docker-compose.yml.
Funktionen
- Compose-Spezifikation-Validierung – Erkennung des obersten
services,networks,volumes,configs,secrets,profiles,includeund Erweiterungsfelder (x-*); markiert alles andere. - Veraltungswarnungen – Markiert das alte oberste
versionSchlüssel,links,external_linksund die Ressourcenbeschränkungen aus der v2-Epoche, die unterdeploy.resources. - dienstbewusste Schlüsselreihenfolge – Reorganisiert jeden Dienst, sodass identifizierende Schlüssel (
image,build,container_name) zuerst kommen, die Laufzeitkonfiguration (environment,ports,volumes) in der Mitte sitzt und Betriebsangelegenheiten (healthcheck,logging,deploy) am Ende landen. - Referenzprüfungen – Erkennung von Diensten, die auf nicht definierte Dienste abhängen, und Warnung bei Verwendung eines Netzwerks, das nicht auf der obersten Ebene deklariert ist.
- Dienstanforderungen – Überprüft, dass jeder Dienst mindestens ein
image,build,extends, oderproviderhat und dassrestarteine der vier gültigen Richtlinien verwendet. - Port + Healthcheck-Integrität – Erkennung fehlerhafter Portstrings, fehlender
targetin langformigen Ports und Healthchecks ohne eintest. - Drei funktionierende Beispiele – Eine Node + Postgres-Webanwendung, ein WordPress + MySQL + Redis-Stack und ein Multi-Dienst-Bau mit Profilen und Ressourcenbeschränkungen.
- Lokal + privat – Alle Parsing-, Sortier- und Validierungsprozesse laufen in Ihrem Browser. Ihr Compose-Datei bleibt auf der Seite.
Häufig gestellte Fragen
-
Warum ist das oberste Versionsschlüssel veraltet?
Der Versionsschlüssel wurde in den alten Compose-Versionen v1, v2 und v3 verwendet, um eine Schema-Auswahl für den docker-compose-Befehl zu bestimmen. Die aktuelle Compose-Spezifikation hat diese Schemata in ein einziges, ständig evolvierendes Spezifikationsformat zusammengefasst, sodass eine Versionserklärung nichts mehr ändert – aktuelle Docker Compose-Versionen ignorieren es einfach und geben eine Warnung aus. Die Entfernung des Schlüssels verkürzt die Datei und vermeidet Verwirrung, wenn Leser annehmen, dass v3-Funktionen durch die Erklärung beschränkt sind.
-
Was ist die Compose-Spezifikation und wie unterscheidet sie sich von den älteren Compose-Dateiformaten?
Die Compose-Spezifikation ist die offene, herstellerunabhängige Schema, die die per-Version Schemata ersetzt, die Docker Compose bis 2020 verwendet hat. Sie wird am github.com/compose-spec/compose-spec verwaltet und wird von Docker Compose, Podman Compose und anderen Ausführern implementiert. Im Vergleich zu v2 und v3 enthält die Spezifikation den Versionsschlüssel nicht, macht Dienste zum einzigen erforderlichen obersten Schlüssel und integriert Swarm-Only-Felder wie deploy als optionale Metadaten, die Orchestratoren konsumieren können.
-
Warum wird ein gemeinsames Netzwerk bevorzugt statt dem links-Schlüssel?
links wurde aus der Docker-Epoche vor dem Netzwerk erbt und erstellt nur DNS-Verknüpfungen zwischen Containern auf dem Standardbrücke. Moderne benutzerdefinierte Netzwerke bieten jedem Dienst automatische DNS-Resolutions durch Dienstname, unterstützen mehrere isolierte Netzwerke pro Stack und ermöglichen die Steuerung von DNS-Verknüpfungen über die aliases-Option. Aufgrund dieser Funktion wird die Compose-Spezifikation den links-Schlüssel als veraltet markiert und empfiehlt explizite Netzwerkmitgliedschaft anstatt.
-
Was macht jede Restart-Politik tatsächlich?
no beendet den Container nicht. always startet den Container jedes Mal, wenn er beendet wird, einschließlich nach einem Daemon-Neustart. on-failure startet den Container nur bei einem nicht-null-Ausgabestatus, optional begrenzt durch eine max-retries-Zahl. unless-stopped verhält sich wie always, außer ein Container, der vor einem Daemon-Neustart manuell beendet wurde, bleibt beendet. Die vier Werte sind fallgefühlssensitive Strings – alles andere wird vom Compose-Engine abgelehnt.
-
Wie entscheidet Compose, ob ein Image abgerufen oder gebaut wird?
Compose prüft pull_policy, build und image zusammen. Bei pull_policy: always ruft Compose vor jedem up immer ein Image ab. Bei fehlend oder if_not_present (Standardwert, wenn nur image gesetzt ist) wird nur abgerufen, wenn das Image lokal nicht vorhanden ist. Bei never wird es nie abgerufen. Wenn build zusammen mit image vorhanden ist, führt pull_policy: build zu einer Wiederherstellung und taggt das Ergebnis als image, während pull_policy: missing nur dann eine Wiederherstellung auslöst, wenn das Image noch nicht lokal vorhanden ist.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug wurde am 6. Juni 2026 hinzugefügt
