Developer Tools

Dockerfile Linter

Analyze Dockerfiles for errors, warnings, and best practice improvements

Was ist ein Dockerfile-Linter?

Ein Dockerfile-Linter ist ein statisches Analysetool, das Ihr Dockerfile auf Fehler, Warnungen und Best-Practice-Verstöße prüft. Es analysiert die Instruktionen in Ihrem Dockerfile - FROM, RUN, COPY, CMD und andere - und markiert Probleme, die zu Build-Fehlern, Sicherheitslücken oder unnötig großen Container-Images führen können.

Effiziente Dockerfiles zu schreiben ist schwieriger als es aussieht. Häufige Fehler sind die Verwendung des :latest-Tags (was die Reproduzierbarkeit bricht), das Ausführen von apt-get update und apt-get install in separaten Layern (was veraltete Paket-Caches verursacht), die Verwendung von ADD wenn COPY ausreichen würde, das Pipen von curl-Ausgabe in die Shell (ein Sicherheitsrisiko) und das Einschließen von Build-Tools im finalen Image. Diese Probleme verursachen nicht immer sofortige Fehler, führen aber zu aufgeblähten, unsicheren und unzuverlässigen Containern.

Unser Dockerfile-Linter erkennt über 20 häufige Probleme in drei Schweregraden: Fehler (Dinge, die brechen werden), Warnungen (Best-Practice-Verstöße) und informative Vorschläge. Er prüft auf Multi-Stage-Build-Möglichkeiten, apt-Cache-Bereinigung, Layer-Optimierung, veraltete Instruktionen und mehr. Alles läuft in Ihrem Browser - Ihr Dockerfile wird nirgendwohin hochgeladen.

So linten Sie Ihr Dockerfile

  1. Dockerfile einfügen — Kopieren Sie Ihren Dockerfile-Inhalt in den Editor. Sie können auch "Load Example" klicken, um ein Beispiel-Dockerfile mit absichtlichen Problemen zu sehen.
  2. Ergebnisse sofort prüfen — Der Linter analysiert Ihr Dockerfile in Echtzeit während der Eingabe. Probleme erscheinen sofort unter dem Editor.
  3. Zusammenfassung prüfen — Badges oben zeigen die Anzahl der Fehler, Warnungen und informativen Meldungen für einen schnellen Überblick.
  4. Probleme einzeln beheben — Jedes Problem zeigt die Zeilennummer, Schweregrad, Regelname, eine klare Beschreibung und einen Vorschlag zur Behebung.
  5. Best Practices nachschlagen — Das integrierte Best-Practices-Panel unter den Ergebnissen bietet eine Kurzreferenz für das Schreiben optimaler Dockerfiles.

Hauptfunktionen

  • Echtzeit-Analyse — Probleme werden sofort erkannt, während Sie tippen oder Ihr Dockerfile einfügen. Kein Button-Klick nötig.
  • 20+ Lint-Regeln — Deckt ungültige Instruktionen, fehlendes FROM, veraltetes MAINTAINER, Latest-Tag-Verwendung, ADD vs COPY, apt-Cache-Management, sudo-Verwendung, curl Pipe-to-Shell und mehr ab.
  • Multi-Stage-Build-Analyse — Erkennt unbenannte Stages, ungenutzte Stages und schlägt Multi-Stage-Builds vor, wenn Build-Tools in Single-Stage-Dockerfiles vorhanden sind.
  • Umsetzbare Vorschläge — Jedes Problem enthält einen spezifischen Behebungsvorschlag, nicht nur eine vage Warnung.
  • Schweregrade — Probleme kategorisiert als Fehler (wird brechen), Warnungen (schlechte Praxis) und Info (Verbesserungsmöglichkeiten), damit Sie Fixes priorisieren können.
  • 100% clientseitig — Ihr Dockerfile verlässt niemals Ihren Browser. Sicher für proprietären und sensiblen Infrastrukturcode.

Häufige Anwendungsfälle

  • Pre-Commit-Validierung — Prüfen Sie Ihr Dockerfile vor dem Commit, um Probleme frühzeitig zu erkennen, bevor sie CI/CD-Pipelines oder Code Reviews erreichen.
  • Image-Größe optimieren — Identifizieren Sie Möglichkeiten zur Reduzierung der Image-Größe: RUN-Layer kombinieren, apt-Caches bereinigen, Multi-Stage-Builds verwenden und Build-Abhängigkeiten entfernen.
  • Sicherheitshärtung — Erkennen Sie Sicherheits-Antimuster wie das Ausführen als Root mit sudo, das Pipen von Remote-Skripten in die Shell und die Verwendung unverifizierbarer Base-Images.
  • Docker Best Practices lernen — Die detaillierten Vorschläge und das Best-Practices-Panel helfen Entwicklern, korrekte Dockerfile-Muster beim Schreiben zu erlernen.
  • CI/CD-Pipeline-Debugging — Wenn Docker-Builds in CI fehlschlagen, fügen Sie das Dockerfile hier ein, um strukturelle Probleme schnell zu identifizieren, ohne auf einen weiteren Build-Zyklus zu warten.

Häufig gestellte Fragen

🔒 Dieses Tool läuft vollständig in Ihrem Browser. Es werden keine Daten an einen Server gesendet.