Omnikit
DevDateienFinanzenAlle Tools
Ctrl K
Dev-ToolsDatei-ToolsFinanzrechnerAlle Tools
StartseiteEntwickler-ToolsDockerfile-Linter
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Dockerfile-Linter

dev

Ein Dockerfile mit 55 hadolint-Regeln prüfen: feste Versionen, root-Benutzer, Cache und mehr

Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.

Ein Dockerfile-Linter liest die Datei, ohne sie zu bauen, und markiert riskante oder verschwenderische Zeilen. Dieser wendet 55 der DL-Regeln von hadolint an, etwa DL3008 für apt-get-Pakete ohne feste Version und DL3002 für den Betrieb als root, und nennt zu jedem Fund Zeile, Stufe und Lösung. Er läuft in Ihrem Browser, ohne Installation und ohne Docker.

Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen

Weiter:
  • .env-Datei-Validator Eine .env-Datei Zeile für Zeile so prüfen, wie dotenv sie liest, und in JSON oder YAML umwandeln
  • systemd OnCalendar Tester Check a systemd timer OnCalendar= value and see its next run times, or convert cron

So prüfen Sie ein Dockerfile online

1

Fügen Sie das Dockerfile in das Feld ein, öffnen Sie die Datei oder klicken Sie auf Beispiel ausprobieren.

2

Lesen Sie die nach Zeile sortierten Funde: Jeder hat eine Stufe, seinen hadolint-Code, das Problem und die Lösung.

3

Klicken Sie auf einen Fund, um zu seiner Zeile zu springen, beheben Sie ihn und sehen Sie, wie sich die Liste beim Tippen aktualisiert.

4

Klicken Sie auf Bericht kopieren, um die Funde als Text zu übernehmen, für einen Pull Request oder ein Ticket.

Über den Dockerfile-Linter

Ein Dockerfile kann heute bauen und nächsten Monat scheitern: Ein Basis-Image ohne feste Version wandert weiter, ein apt-get install holt eine neue Version, ein in einer Schicht gelassener Cache macht das Image Hunderte Megabyte größer. Ein Linter findet das, bevor es ausgeliefert wird. hadolint ist der Standard in CI-Pipelines; diese Seite wendet seine Dockerfile-Regeln in Ihrem Browser an.

Was geprüft wird. Jeder Fund nennt seine Zeile, seinen hadolint-Code, eine Stufe und eine Lösung in einer Zeile. Die Regeln gliedern sich in fünf Gruppen:

Gruppe Beispiele
Reproduzierbare Builds DL3006 Image ohne Tag, DL3007 latest, DL3008 apt-get, DL3013 pip, DL3016 npm, DL3018 apk
Kleinere Images DL3009 apt-Listen, DL3015 recommends, DL3019 apk-Cache, DL3042 pip-Cache, DL3059 zusätzliche RUN-Schichten
Sicherheit DL3002 root-Benutzer, DL3004 sudo, DL4006 pipefail
Korrektheit DL3011 Portbereich, DL3021 COPY-Ziel, DL3022 und DL3023 Stage-Namen, DL3044 ENV, DL3061 Reihenfolge
Klare Absicht DL3000 WORKDIR, DL3003 cd, DL3020 ADD, DL3025 JSON-CMD, DL4000 MAINTAINER

Wie nah es an hadolint ist. Die Regeln wurden aus dem Quellcode von hadolint 2.12 geschrieben, und die Tests verwenden die Antworten des echten hadolint-Programms für mehr als 80 Dockerfiles: dieselben Codes in denselben Zeilen, jedes Mal. Multi-Stage-Builds, ONBUILD, Fortsetzungszeilen, die escape-Direktive und eingebettete # hadolint ignore=-Kommentare verhalten sich wie in hadolint. Die SC-Warnungen von ShellCheck zum Shell-Code in RUN-Zeilen sind nicht enthalten.

Eine Regel abschalten. Schreiben Sie # hadolint ignore=DL3008 in die Zeile vor einer Anweisung, um diese Regel dort zu überspringen, oder # hadolint global ignore=DL3059 an beliebiger Stelle, um sie für die ganze Datei zu überspringen. Die Zusammenfassung sagt, wie viele Funde abgeschaltet wurden.

Alles läuft in Ihrem Browser: Das Dockerfile, das Sie einfügen oder öffnen, wird nie hochgeladen.

Häufig gestellte Fragen

Was bedeutet DL3008 in hadolint?

DL3008 besagt, dass eine apt-get-install-Zeile Pakete ohne Version nennt, sodass jeder Build etwas anderes installieren kann. Schreiben Sie Paket=Version, etwa curl=7.88.1-10+deb12u5, und ermitteln Sie die aktuelle Version mit apt-cache policy curl im Basis-Image. Feste Versionen machen das Image reproduzierbar; aktualisieren Sie sie bewusst, nicht zufällig.

Warum sollte der letzte USER nicht root sein?

Ein Container, der als root läuft, hat darin root-Rechte. Ein Angreifer, der in die Anwendung eindringt, kann also mehr anrichten, und ein Fehler in einem eingebundenen Volume kann Dateien des Hosts ändern. Legen Sie in einem RUN einen Benutzer an, etwa useradd app, und beenden Sie die Stage mit USER app. Build-Schritte davor können weiterhin als root laufen.

Warum /var/lib/apt/lists im selben RUN löschen?

Jedes RUN erzeugt eine Schicht, und eine in einer späteren Schicht gelöschte Datei belegt in der früheren weiterhin Platz. apt-get update lädt Paketlisten von mehreren zehn Megabyte herunter; entfernen Sie sie daher im selben RUN mit && rm -rf /var/lib/apt/lists/*. In einem separaten RUN entfernt, spart das nichts.

Wie ignoriere ich eine hadolint-Regel für eine Zeile?

Schreiben Sie direkt über die Anweisung einen Kommentar: # hadolint ignore=DL3008, oder mehrere Codes durch Kommas getrennt. Um eine Regel für die ganze Datei abzuschalten, schreiben Sie an beliebiger Stelle # hadolint global ignore=DL3059. Beides funktioniert in hadolint selbst und auf dieser Seite, und die Zusammenfassung zählt, was abgeschaltet wurde.

Ist das dasselbe wie hadolint auszuführen?

Für die Dockerfile-Regeln ja: Die 55 DL-Codes, ihre Stufen und ihre Bedingungen folgen hadolint 2.12, und die Tests vergleichen mit dem echten hadolint-Programm an mehr als 80 Dateien. Nicht enthalten sind die SC-Warnungen von ShellCheck zum Shell-Code in RUN-Zeilen und die Regeln, die eine Konfigurationsdatei brauchen, etwa erlaubte Registries.

Sollte ich in einem Dockerfile COPY oder ADD verwenden?

Verwenden Sie COPY für Dateien und Ordner. ADD lädt außerdem URLs herunter und entpackt lokale tar-Archive, was nützlich ist, wenn Sie genau das wollen, und überraschend, wenn nicht. hadolint markiert ADD für eine einfache Datei als DL3020 und ein COPY, auf das ein tar -x desselben Archivs folgt, als DL3010, wo ADD es in einem Schritt erledigen würde.

Quellen

  • hadolint, the Haskell Dockerfile Linter (GitHub, v2.12.0)The DL rules, their levels and their exact conditions; the binary is the reference the tests compare against
  • Docker Docs, Dockerfile referenceInstruction syntax, continuation lines, the escape directive, exec and shell form
  • Docker Docs, Building best practicesPinning base images, apt-get cleanup in the same RUN, COPY over ADD, unprivileged USER

Zuletzt geprüft am 16. Oktober 2026.

Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.

Kommen Sie nicht weiter? Fragen Sie zu Dockerfile-Linter und jeder, der es weiß, kann antworten. Kein Konto nötig.

Ähnliche Tools

Alle Entwickler-Tools
Regex-TesterReguläre Ausdrücke in JavaScript testen, mit Live-Hervorhebung und einer Erklärung in klarer SpracheTextvergleichZwei Texte nebeneinander vergleichen und jede hinzugefügte und entfernte Zeile sehenJSON vergleichenZwei JSON-Dokumente vergleichen und jeden hinzugefügten, entfernten und geänderten Wert auflistenOpen-Graph-VorschauFügen Sie eine Seite ein und sehen Sie die Teilen-Karte für Facebook, LinkedIn, X, WhatsApp und SlackKeyword-Dichte und LesbarkeitWort- und Phrasenzählung, Dichte, Lesezeit und ein Flesch-LesbarkeitswertHTTP-StatuscodesJeder HTTP-Statuscode, was er bedeutet, wann man ihn sendet und aus welchem RFC er stammtUser-Agent-ParserLesen Sie einen User-Agent-String: Browser, Engine, Betriebssystem, Gerätetyp und ob es ein Bot istJSONPath-TesterRFC-9535-JSONPath-Abfragen auf eingefügtem JSON ausführen und jeden Treffer markiert sehen
War dieses Tool hilfreich?
Omnikit

Kleine Aufgaben, erledigt in Ihrem Browser. Kostenlos, schnell und privat. Dateien werden nie hochgeladen.

Dateien

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanzen

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
AnleitungenFragenÜber unsWie wir prüfenGesetzesbibliothek (Beta)DatenschutzNutzungsbedingungenOffenlegungKontaktMore: Exam practice (UGC NET Paper 1)Läuft in Ihrem Browser. Nichts wird hochgeladen. © 2026 Omnikit (theomnikit.com)