
Dockerfile: online linten und formatieren (Hadolint)
Erkennen Sie Docker-Anti-Patterns (Root-User, Cache-Layer, Tag `latest`) und formatieren Sie Dockerfiles vor der CI.
Warum Dockerfile vor der CI linten und formatieren?
Ein Dockerfile baut Ihr Image Schicht für Schicht. Ein vergessenes `USER root`, ein schwimmendes Tag `latest` oder viele hintereinander folgende `RUN`-Schritte blähen das Image auf, schwächen den BuildKit-Cache und lassen Hadolint in der Pipeline scheitern — oft zu spät. Formatieren und Linten vor dem Öffnen der PR reduziert CI-Rauschen und hält das Team auf denselben Konventionen. Auf FastMinify können Sie ein Dockerfile online linten (DL-Regeln im Hadolint-Stil) und online formatieren — vollständig im Browser. Der gesamte Cluster liegt im Hub DevOps-Werkzeuge, neben Terraform, Compose und `.env`.
Häufige DL-Regeln und Workflow vor der PR
Einige Codes tauchen in fast jedem Team auf. Früh korrigieren verhindert eine Wand aus Hadolint-Warnungen in der CI.
Pinnen Sie Hadolint (Image oder Binary) und lassen Sie die Pipeline bei Ihrer Severity-Policy scheitern. Der Browser bleibt ein schneller Filter außerhalb des Monorepos.
Lint vs. Format vs. Build
Format, Lint und `docker build` ergänzen sich. Im Review: formatieren, linten, dann die CI bauen lassen.
Ziel
Wann nutzen
Eine einfache Sequenz vermeidet, Stil nach dem Lint im Kreis zu korrigieren.
Wann das Browser-Tool genügt
Sie müssen das Monorepo nicht klonen, um drei aus Slack eingefügte Anweisungen zu korrigieren.
Grenzen: was der Browser nicht ersetzt
Sobald Sie Team-Config (Ignores, Severity), tiefere Shell-Analyse in RUN oder Multi-Stage-Builds mit BuildKit-Secrets brauchen, bleiben CLI und CI Pflicht.
Ein Service kommt oft mit Compose, `.env` und HCL. Dockerfile-Format/Lint + Compose/Env-Validate + Terraform-Format decken den täglichen DevOps-Pfad ab.
CLI und Ökosystem
Hadolint und dockerfile-utils bleiben der Enterprise-Standard. FastMinify-Tools ergänzen Exploration und One-Shots.
Hadolint
Referenz-Dockerfile-Linter mit DL-Regeln und CI-Integration.
Pros:
Cons:
dockerfile-utils / Formatierer
Stil-Normalisierung (Großschreibung, Abstände) im Editor oder CLI.
Pros:
Cons:
BuildKit / buildx
Moderne Build-Engine: Cache, Multi-Platform, Secrets.
Pros:
Cons:
Dockerfile-Anatomie: Anweisungen und Layer
Ein Dockerfile ist eine Folge von Anweisungen (`FROM`, `RUN`, `COPY`, `WORKDIR`, `USER`, `CMD`…). Anweisungen, die das Dateisystem ändern, erzeugen Layer. Die Reihenfolge zählt für den Cache: häufige Änderungen (App-Code) sollten nach stabilen Layern (OS-Pakete) kommen. Für benachbartes YAML (`compose.yml`) die Struktur vor `docker compose up` prüfen.
Der FastMinify-Linter wendet eine <strong>dokumentierte Teilmenge</strong> der Hadolint-DL-Regeln an (Wiki-IDs). Er führt kein ShellCheck in jedem `RUN` aus, baut kein Image und spricht nicht mit einer Remote-Registry. In der CI bleibt die Hadolint-CLI (oder die GitHub Action) die Quelle der Wahrheit.
Lint und Format: zwei unterschiedliche Absichten
Der Linter meldet Issues mit DL-Codes (z. B. DL3007 für `latest`, DL3002 für finalen Root-User) und Links zum Hadolint-Wiki. Ideal zum Einfügen eines Dockerfiles und Korrigieren vor der PR. Probieren Sie den Online-Dockerfile-Linter.
Der Formatierer normalisiert Großschreibung der Anweisungen und Abstände für stabile Diffs — ohne die Build-Semantik zu ändern. Nutzen Sie den Online-Dockerfile-Formatierer, bevor Sie eine manuell bearbeitete Datei committen.
Ein Dockerfile steht selten allein. Validieren Sie auch Docker Compose online und prüfen Sie `.env`-Dateien vor einem lokalen Deploy.
Fazit
Dockerfile vor der CI zu linten und zu formatieren vermeidet unnötige Roundtrips bei DL-Regeln und Stil. Nutzen Sie den Browser für Snippets und den ersten Hadolint-Stil-Filter, dann Hadolint-CLI und `docker build` für die Pipeline-Wahrheit. Weiter mit Compose, `.env` und Terraform im selben DevOps-Hub.
Verwandte Artikel

Formatieren und validieren Sie HCL/Terraform vor dem „Terraform-Plan“. Browserbasierte Tools, IaC-Best Practices und häufige Fallstricke.

Optimieren Sie Ihre WordPress-Site mit JavaScript, CSS und HTML-Minimierung. Plugin-Vergleich, Konfiguration und Tipps für ein ultraschnelles WordPress.

Erfahren Sie, wie Sie JavaScript- und CSS-Minimierung in Ihre CI/CD-Pipelines integrieren. Konkrete Beispiele mit GitHub Actions und GitLab CI für optimierte Bereitstellungen.