Zum Inhalt springen
100% lokal

Dockerfile-Generator

Erstelle ein produktionsreifes Dockerfile für deine Sprache mit Multi-Stage Builds und vernünftigen Defaults.

Ausgabe

Dockerfile-Generator

Wähle eine Sprache aus und dieses Tool fügt ein Dockerfile dafür zusammen – das Basis-Image, die Dependency-Installation und den Befehl zum Starten der App – anstatt dass du mit einer leeren Datei anfängst oder eine aus einem alten Projekt kopierst, die nicht mehr passt. Node.js, Python, Go, PHP, Java und statische Websites (mit nginx) sind alle abgedeckt, jeweils mit dem Basis-Image und der Schicht-Reihenfolge, die dieser Stack normalerweise erwartet.

Die Optionen decken ab, was sich zwischen Projekten unterscheidet. Wähle den Paketmanager – npm, Yarn oder pnpm für Node; pip oder Poetry für Python – damit die Install-Schicht die richtige Manifest- und Lockfile kopiert, bevor der Rest des Source-Codes kommt, und Dockers Build-Cache Dependencies nicht bei jeder Code-Änderung neu installiert. Aktiviere den Multi-Stage Build, um in einem Image zu installieren oder zu kompilieren und kopiere nur die gebaute Ausgabe in ein schlankes Runtime-Image, ohne Compiler oder Dev-Dependencies zu versenden. Ein Nicht-Root-Benutzer, ein HEALTHCHECK, der freigegebene Port, der Startbefehl und alle Umgebungsvariablen werden aus dem Panel gesetzt, und die .dockerignore hält .git und node_modules aus dem Build-Kontext.

Jede Schicht erhält einen kurzen Kommentar, der erklärt, was sie tut und warum – Dokumentation genauso wie eine Möglichkeit, die Datei vor dem Commit zu überprüfen, und leicht auszuschalten, wenn du die Form auswendig kennst. Die Ausgabe aktualisiert sich, während du eine Option änderst, sodass der Vergleich eines Single-Stage mit einem Multi-Stage Build keine manuelle Neugenerierung erfordert.

Nichts von dem, was du hier eingibst, verlässt deinen Browser – das Dockerfile wird vollständig clientseitig in JavaScript zusammengefügt. Kopiere das Ergebnis, lade es als .txt-Datei herunter zum lokalen Umbenennen oder sende es zur Eingabe eines anderen Tools, um damit weiterzuarbeiten.

Häufige Fragen

Funktioniert das generierte Dockerfile wirklich?
Es folgt dem Standard-Layout für jede Sprache – Basis-Image, Dependency-Install, Source-Kopie, Startbefehl – aber es erwartet immer noch, dass dein Projekt die üblichen Dateien hat (package.json, requirements.txt, go.mod, composer.json oder pom.xml). Überprüfe Pfade und Befehle gegen dein Projekt, bevor du es bereitstellst.
Was verändert die Multi-Stage-Option?
Mit aktiviertem Multi-Stage Build installiert eine erste "build"-Schicht Abhängigkeiten (und kompiliert, für Go und Java) und eine zweite Schicht kopiert nur die fertige App in ein frisches, minimales Image – kleiner und mit einer viel kleineren Angriffsfläche als ein Image, das seine Build-Tools behält.
Warum als Nicht-Root-Benutzer ausführen?
Ein Prozess, der als Root in einem kompromittierten Container läuft, hat mehr Möglichkeiten, den Host zu beeinflussen. Die Nicht-Root-Option fügt einen dedizierten Benutzer hinzu (oder verwendet den in das Image eingebauten, wie "node") und wechselt vor dem Start des Containers zu diesem Benutzer.
Was kommt in das Umgebungsvariablen-Feld?
Eine mit Kommas oder Zeilenumbrüchen getrennte Liste von SCHLÜSSEL=wert-Paaren, zum Beispiel NODE_ENV=production, PORT=3000. Jedes wird zu seiner eigenen ENV-Anweisung. Lasse es leer, um den Abschnitt ganz zu überspringen.
Werden meine Projektinformationen irgendwo hochgeladen?
Nein. Das Dockerfile wird vollständig in deinem Browser aus den gewählten Optionen zusammengefügt – nichts über dein Projekt wird an einen Server gesendet.