Fügen Sie eine Compose-Datei ein, um Dienstübersicht und Befunde eines lokalen Struktur-Linters zu sehen. Das YAML wird im Browser geparst: nichts wird hochgeladen, kein Docker-Daemon kontaktiert und Compose nie ausgeführt.
Läuft lokal in deinem BrowserFügen Sie compose.yaml oder docker-compose.yml ein. Analyse und Prüfungen laufen lokal im Browser.
Dies ist ein lokaler Struktur-Linter. Er lädt keine Images, untersucht nicht den Docker-Daemon, löst keine Umgebungsvariablen auf und führt Compose nicht aus.
| Dienst | Image / Build | Ports | Hängt ab von |
|---|---|---|---|
| Noch keine Compose-Datei validiert. | |||
Fügen Sie eine compose.yaml oder docker-compose.yml ein und drücken Sie Compose-Datei validieren. Die Seite parst das Dokument im Browser und zeigt zwei Ergebnisse: die nach Schweregrad sortierte Befundliste mit dem Pfad des betroffenen Schlüssels (etwa services.db.ports[0]) und eine Dienstübersicht mit Image- oder Build-Quelle, veröffentlichten Ports und den depends_on-Zielen jedes Dienstes.
Das eingebaute Beispiel (api und db mit je einem benannten Volume) endet als „bereit zur Prüfung“, weil nichts ein docker compose up blockiert. Ein Host-Port, den zwei Dienste belegen, ein depends_on auf einen nicht existierenden Dienst oder ein Zyklus wie a → b → a werden dagegen als Fehler gemeldet.
Struktur: services muss ein Mapping mit mindestens einem Dienst sein, jeder Dienst ein Objekt, und Namen dürfen nur Buchstaben, Zahlen, Punkte, Unterstriche und Bindestriche enthalten — alles andere lehnt Compose ab. image muss eine nicht leere Zeichenkette sein, build ein Pfad oder Objekt; ein Dienst ohne beides wird gemeldet, weil er nicht laufen kann.
Ports: Container-Ziele müssen zwischen 1 und 65535 liegen, ein veröffentlichter Host-Port darf eine einzelne Zahl oder ein Bereich wie 8000-8005 sein. Der Linter meldet Werte außerhalb des Bereichs, nicht numerische Host-Ports, Protokolle außer tcp, udp und sctp sowie jeden doppelten oder überlappenden Host-Port — ob zweimal im selben Dienst oder in zwei verschiedenen. network_mode: host zusammen mit veröffentlichten Ports erzeugt eine Warnung, weil diese Zuordnungen zur Laufzeit ignoriert werden.
depends_on darf eine Liste oder ein Mapping sein; jedes Ziel muss existieren und der Graph muss zyklenfrei sein, deshalb werden a → b → a oder ein Dienst, der von sich selbst abhängt, mit dem vollständigen Zyklus gemeldet. container_name und privileged: true erscheinen als Warnungen, weil sie das Skalieren erschweren oder den Host-Zugriff weiter öffnen als nötig.
Benannte Volumes, die ein Dienst einbindet, müssen im volumes-Mapping oberster Ebene deklariert sein. Der lokale Parser löst Anker und Aliase auf, und <<: *common wird in den Dienst gemergt, wenn es auf ein Mapping zeigt — ein Image, das nur über den Merge-Key kommt, steht also trotzdem in der Übersicht; lässt sich der Merge nicht auflösen, sagt die Zeile das, statt ein fehlendes Image zu behaupten.
Es wird nichts ausgeführt: Die Seite startet nie docker compose, kontaktiert keinen Docker-Daemon und lädt keine Images. Variablen wie ${POSTGRES_PASSWORD} werden nicht aufgelöst, .env-Dateien nicht gelesen und profiles oder extends nur als Struktur geprüft. Versionsunterschiede von Compose werden nicht simuliert, prüfen Sie die endgültige Datei also mit der Version, mit der Sie ausrollen.
Das Dokument wird in Ihrem Browser geparst: Der eingefügte Text wird nicht hochgeladen und die Validierung funktioniert auch offline. Sehr große Dateien sind durch den Speicher Ihres Geräts begrenzt, und es wird jeweils ein einzelnes Dokument gelesen — eine Datei mit einem zweiten --- Dokument wird mit Zeilennummer abgelehnt.