Sări la conținut
Complet local

Generator Dockerfile

Creați un Dockerfile gata de producție pentru limba dvs., cu construcții multi-etapă și implicite sensibile.

Ieșire

Generator Dockerfile

Alegeți o limbă și acest instrument construiește un Dockerfile în jurul acesteia — imaginea de bază, instalarea dependențelor și comanda care pornește aplicația — în loc să începeți dintr-un fișier gol sau să copiați una dintr-un proiect vechi care poate să nu mai fie potrivit. Node.js, Python, Go, PHP, Java și site-urile statice (servite cu nginx) sunt toate acoperite, fiecare cu imaginea de bază și ordinea layer-elor pe care această stack de obicei le așteaptă.

Opțiunile acoperă ce se schimbă între proiecte. Alegeți managerul de pachete — npm, Yarn sau pnpm pentru Node; pip sau Poetry pentru Python — pentru ca layer-ul de instalare să copieze manifestul și fișierul de blocare corecte înainte de restul sursei, impedând cache-ul de build Docker să reinstaleze dependențele la fiecare schimbare de cod. Activați construcția multi-etapă pentru a instala sau compila într-o imagine și copiați doar output-ul construit într-o imagine de runtime subțire, livrând fără compiler sau dependențe de dezvoltare. Un utilizator non-root, un HEALTHCHECK, portul expus, comanda de pornire și orice variabilă de mediu sunt toate setate din panou, iar .dockerignore ține .git și node_modules afară din contextul de build.

Fiecare layer obține un comentariu scurt explicând ce face și de ce — documentație tot atât de mult cât și o modalitate de verificare a integrității fișierului înainte de a-l comite, și ușor de dezactivat odată ce cunoașteți forma. Output-ul se actualizează pe măsură ce schimbați orice opțiune, deci compararea unei construcții cu o singură etapă versus una multi-etapă nu necesită regenerare manuală.

Nimic din ceea ce tastați aici nu pleacă din browser — Dockerfile este asamblat complet pe partea client în JavaScript. Copiați rezultatul, descărcați-l ca fișier .txt pentru a redenumi local, sau trimiteți-l la intrarea unui alt instrument pentru a continua să lucrați pe el.

FAQ

Dockerfile-ul generat se compilează cu adevărat?
Urmează disposiția standard pentru fiecare limbă — imagine de bază, instalare dependențe, copiere sursă, comandă de pornire — dar se așteaptă totuși ca proiectul dvs. să aibă fișierele obișnuite (package.json, requirements.txt, go.mod, composer.json sau pom.xml). Verificați căile și comenzile cu proiectul dvs. înainte de implementare.
Ce se schimbă cu opțiunea construcție multi-etapă?
Cu el activat, un prim stage "build" instalează dependențe (și compilează, pentru Go și Java) și un al doilea stage copiază doar aplicația finalizată într-o imagine nouă și minimă — mai mică și cu o suprafață de atac mult mai mică decât o imagine care-și ține instrumentele de build în jur.
De ce rula ca utilizator non-root?
Un proces rulat ca root într-un container care este compromis are mai multă capacitate de a afecta host-ul. Opțiunea non-root adaugă un utilizator dedicat (sau reutilizează celui construit în imagine, cum ar fi "node") și comută la acesta înainte ca containerul să pornească aplicația dvs.
Ce intră în câmpul variabilele de mediu?
O listă separată prin virgule sau quebră de linie de perechi CHEIE=valoare, de exemplu NODE_ENV=production, PORT=3000. Fiecare devine propria sa instrucțiune ENV. Lăsați gol pentru a sări complet secțiunea.
Informațiile proiectului meu sunt încărcate undeva?
Nu. Dockerfile-ul este asamblat complet în browser-ul dvs. din opțiunile pe care le alegeți — nimic despre proiectul dvs. nu este trimis unui server.