Dockerfile-Formatierer
Formatiere ein Dockerfile und erhalte Best-Practice- und Lint-Hinweise.
Dein Dockerfile wird lokal in deinem Browser formatiert und gelintet und nichts, was du einfügst, wird auf einen Server hochgeladen.
Verwaltest du den Build-Kontext? Erzeuge eine .gitignore mit dem Gitignore-Generator.
Über Dockerfile-Formatierer
Dieser Dockerfile-Formatter räumt dein Dockerfile auf und prüft es in einem Durchgang gegen Docker-Best-Practices. Füge ein Dockerfile ein, und es normalisiert jedes Anweisungsschlüsselwort auf Großbuchstaben, schneidet nachgestellten Leerraum ab und kollabiert wiederholte Leerzeilen, sodass die Datei konsistent lesbar ist. Als leichtgewichtiger Dockerfile-Linter markiert es auch häufige Probleme: ungepinnte Basis-Image-Tags, ADD wo COPY hingehört, apt-get-Installationen ohne --no-install-recommends, übrige apt-Caches, sudo-Nutzung, cd innerhalb von RUN, kombinierbare RUN-Layer und Container, die als root laufen. Es ist für Entwickler und DevOps-Ingenieure gebaut, die ein Dockerfile online formatieren und Image-Builds nach Dockerfile-Best-Practices vor dem Committen straffen wollen. Alles läuft lokal in deinem Browser, sodass das eingefügte Dockerfile auf deinem Rechner verarbeitet wird und deine Daten dein Gerät nie verlassen.
Funktionen
- Schreibt jede Dockerfile-Anweisung groß (FROM, RUN, COPY, CMD und mehr) für konsistenten Stil
- Schneidet nachgestellten Leerraum ab und kollabiert wiederholte Leerzeilen
- Warnt, wenn ein Basis-Image :latest verwendet oder keinen gepinnten Tag hat
- Schlägt COPY statt ADD für lokale Dateien vor
- Empfiehlt --no-install-recommends und apt-Cache-Bereinigung, um Images zu verkleinern
- Markiert sudo-Nutzung und Container, die ohne gesetztes USER als root laufen
- Erkennt aufeinanderfolgende RUN-Schritte, die kombiniert werden können, um Layer zu reduzieren
- Zeigt jeden Vorschlag mit einem WARN- oder TIP-Abzeichen und der Zeilennummer
So verwendest du Dockerfile-Formatierer
- Füge dein Dockerfile in das Eingabefeld ein.
- Lies die bereinigte, anweisungsgroßgeschriebene Ausgabe im Bereich Formatiertes Dockerfile.
- Prüfe die Best-Practice-Checks unter der Ausgabe auf WARN- und TIP-Vorschläge.
- Wende die gewünschten Fixes an und kopiere oder lade das Ergebnis dann als Dockerfile herunter.
Beispiel
Eingabe
from node:latest
run apt-get update && apt-get install curl
copy . .
cmd ["node","app.js"]
Ausgabe
FROM node:latest
RUN apt-get update && apt-get install curl
COPY . .
CMD ["node","app.js"]
Anweisungen werden großgeschrieben und aufgeräumt; das Check-Panel warnt weiterhin, den node-Tag zu pinnen, --no-install-recommends hinzuzufügen und ein Nicht-root-USER zu setzen.
Häufige Fehler & Fehlerbehebung
- Die Ausgabe sieht identisch zu deiner Eingabe aus. — Der Formatter normalisiert nur Schreibweise, Leerraum und Leerzeilen. Wenn deine Anweisungen bereits groß und sauber waren, gibt es nichts zu ändern. Prüfe stattdessen das Best-Practice-Panel auf Vorschläge.
- Lint markiert ADD, obwohl du eine URL herunterlädst oder ein Archiv extrahierst. — Die COPY-statt-ADD-Warnung wird für ADD mit http(s)-URLs und für .tar/.gz/.tgz/.bz2/.xz/.zip-Archive übersprungen. Für einfache lokale Dateien wechsle zu COPY, um die Warnung zu beseitigen.
- Eine USER-Warnung erscheint, obwohl du zu einem Nicht-root-Benutzer gewechselt bist. — Die Prüfung sucht überall in der Datei nach einer USER-Anweisung. Stelle sicher, dass die Zeile mit dem USER-Schlüsselwort beginnt und nicht auskommentiert ist, damit sie erkannt wird.
- Zeilenfortsetzungen oder ungewöhnliche Zeilen bleiben unberührt. — Zeilen, die keine erkannten Anweisungen sind, etwa Backslash-Fortsetzungen, werden bewusst unverändert gelassen, damit mehrzeilige RUN-Befehle nicht zerbrochen werden.
Häufig gestellte Fragen
- Was ist der ArrayKit Dockerfile-Formatter und was ändert er?
- Es ist ein Dockerfile-Formatter im Browser, der jedes Anweisungsschlüsselwort großschreibt, nachgestellten Leerraum abschneidet und mehrere Leerzeilen zu einer kollabiert. Er schreibt deine Befehle nicht um oder ordnet sie neu, sodass deine Build-Logik intakt bleibt.
- Wie lint ich mein Dockerfile mit diesem Tool auf Best Practices?
- Füge einfach dein Dockerfile ein. Neben der Formatierung führt es Prüfungen für ungepinnte Basis-Tags, ADD vs COPY, apt-get-Flags und Cache-Bereinigung, sudo-Nutzung, cd in RUN, kombinierbare RUN-Layer und das Laufen als root durch, gezeigt als WARN- und TIP-Vorschläge mit Zeilennummern.
- Warum warnt mich der Dockerfile-Formatter, meinen Basis-Image-Tag zu pinnen?
- Die Verwendung von :latest oder keinem Tag bedeutet, dass dein Build sich unerwartet ändern kann, wenn das Basis-Image aktualisiert wird. Das Pinnen eines bestimmten Tags wie node:20-alpine macht Builds reproduzierbar.
- Kann ich das formatierte Dockerfile herunterladen?
- Ja, du kannst die Ausgabe kopieren oder direkt aus dem Bereich der formatierten Ausgabe als einfaches Dockerfile herunterladen.
- Wird mein Dockerfile irgendwohin hochgeladen, wenn ich diesen Formatter nutze?
- Nein. Der Dockerfile-Formatter läuft vollständig in deinem Browser und die eingefügte Datei wird lokal verarbeitet, sodass deine Daten dein Gerät nie verlassen und nichts an einen Server gesendet wird.
Verwandte Tools
- YAML ↔ JSON — Konvertiere YAML zu JSON und zurück.
- SQL-Formatierer — Formatiere SQL für MySQL, PostgreSQL, SQL Server, SQLite, BigQuery und Oracle.
- JSON-Formatierer — JSON verschönern, minimieren und validieren – mit Fehlerposition.
- XML-Formatierer — Verschönere, minimiere und validiere XML und konvertiere XML ↔ JSON.
- GraphQL-Formatierer — Formatiere oder minimiere GraphQL-Abfragen und -Schemas, validiere die Syntax und extrahiere Operationen.
- .gitignore-Generator — Erstelle eine .gitignore aus gängigen Sprach- und Tool-Vorlagen.
- MongoDB-Query-Formatierer — Formatiere MongoDB-Shell-Abfragen und Aggregations-Pipelines.
- chmod-Rechner — Konvertiere Unix-Dateiberechtigungen zwischen oktal und symbolisch (rwx).
Alle ArrayKit-Tools