Vai al contenuto
100% locale

Generatore di Dockerfile

Crea un Dockerfile pronto per la produzione per il tuo linguaggio, con build multi-stage e impostazioni predefinite sensate.

Uscita

Generatore di Dockerfile

Seleziona un linguaggio e questo strumento assembla un Dockerfile intorno ad esso — l'immagine base, l'installazione delle dipendenze e il comando che avvia l'applicazione — invece di iniziare da un file vuoto o copiare uno da un vecchio progetto che potrebbe non adattarsi più. Node.js, Python, Go, PHP, Java e siti statici (serviti con nginx) sono tutti coperti, ognuno con l'immagine base e l'ordine dei layer che quello stack di solito si aspetta.

Le opzioni coprono ciò che cambia tra i progetti. Scegli il gestore dei pacchetti — npm, Yarn o pnpm per Node; pip o Poetry per Python — in modo che il layer di installazione copi il file manifesto e il lockfile corretti prima del resto del codice, impedendo alla cache di build di Docker di reinstallare le dipendenze ad ogni cambio di codice. Attiva la build multi-stage per installare o compilare in un'immagine e copia solo il risultato finale in un'immagine runtime snella, senza compilatore o dipendenze di sviluppo. Un utente non-root, un HEALTHCHECK, la porta esposta, il comando di avvio e tutte le variabili di ambiente sono impostati dal pannello, e il .dockerignore mantiene .git e node_modules fuori dal contesto di build.

Ogni layer ha un breve commento che spiega cosa fa e perché — documentazione tanto quanto un modo per verificare il file prima di eseguirne il commit, e facile da disattivare una volta che conosci la forma a memoria. L'output si aggiorna mentre modifichi qualsiasi opzione, quindi confrontare una build single-stage rispetto a una multi-stage non richiede rigenerazione manuale.

Niente di ciò che digiti qui lascia il tuo browser — il Dockerfile è assemblato interamente lato client in JavaScript. Copia il risultato, scaricalo come file .txt da rinominare localmente, o invialo all'input di un altro strumento per continuare a lavorarci.

FAQ

Il Dockerfile generato funziona davvero?
Segue il layout standard per ogni linguaggio — immagine base, installazione delle dipendenze, copia del codice, comando di avvio — ma si aspetta comunque che il tuo progetto abbia i file consueti (package.json, requirements.txt, go.mod, composer.json o pom.xml). Verifica i percorsi e i comandi rispetto al tuo progetto prima di distribuire.
Cosa cambia con l'opzione multi-stage?
Con l'opzione attivata, un primo stage "build" installa le dipendenze (e compila, per Go e Java) e un secondo stage copia solo l'app finita in un'immagine nuova e minima — più piccola e con una superficie di attacco molto più piccola di un'immagine che mantiene i suoi strumenti di build intorno.
Perché eseguire come utente non-root?
Un processo in esecuzione come root all'interno di un contenitore compromesso ha più capacità di influenzare l'host. L'opzione utente non-root aggiunge un utente dedicato (o riutilizza quello integrato dell'immagine, come "node") e passa a esso prima che il contenitore avvii la tua app.
Cosa va nel campo delle variabili di ambiente?
Un elenco separato da virgole o interruzioni di riga di coppie KEY=value, ad esempio NODE_ENV=production, PORT=3000. Ognuno diventa la sua istruzione ENV. Lascialo vuoto per saltare completamente la sezione.
Le informazioni del mio progetto vengono caricate da qualche parte?
No. Il Dockerfile è assemblato interamente nel tuo browser dalle opzioni che scegli — nulla riguardante il tuo progetto viene inviato a un server.