Ugrás a tartalomhoz
100% helyi

Dockerfile generátor

Produktív Dockerfile létrehozása a saját nyelvednek, multi-stage buildekkel és sane alapértékekkel.

Kimenet

Dockerfile generátor

Válassz ki egy nyelvet, és ez az eszköz összeállít egy Dockerfilet — az alaprendszerképet, a függőségek telepítését és az alkalmazást indító parancsot — ahelyett, hogy egy üres fájlból kellene kezdened vagy egy régi projektből másként. Node.js, Python, Go, PHP, Java és statikus weboldalak (nginx-el kiszolgálva) mind támogatottak, mindegyik az adott stack által szokásos alaprendszerképpel és rétegsorrenddel.

Az opciók fedik le, amit a projektok között változik. Válassz csomag kezelőt — npm, Yarn vagy pnpm a Node-hoz; pip vagy Poetry a Python-hoz — így a telepítési réteg a megfelelő manifest és lockfile-t másolja, mielőtt a forráskód többi része érkezne, megelőzve, hogy a Docker build cache minden kódváltoztatásnál újra telepítsen függőségeket. Kapcsold be a multi-stage buildet, hogy egy képen telepítsd vagy fordítsd le az alkalmazást, majd csak az elkészült kimenetet másold egy vékony futtatási képbe, anélkül, hogy fordító vagy fejlesztési függőségeket szállítanál. A nem root felhasználó, a HEALTHCHECK, a kitett port, az indítási parancs és a környezeti változók mind a panelból állíthatók be, és a .dockerignore tartja ki a .git és node_modules mappákat a build kontextusból.

Minden réteg rövid megjegyzést kap, amely magyarázza, mit csinál és miért — dokumentáció és egyben egy módja annak, hogy szanity-checkeld a fájlt mielőtt commitolnál, és könnyen kikapcsolható, miután megtanultad a szerkezetet. A kimenet frissül, ahogy bármelyik opciót megváltoztatod, így a single-stage és a multi-stage build összehasonlítása kézi újragenerálást nem igényel.

Semmi, amit ide begépelsz, nem hagyja el a böngésződ — a Dockerfile teljes egészében JavaScript-ben összeáll az ügyfél oldalon. Másold ki az eredményt, töltsd le .txt fájlként, hogy helyileg átnevezhedd, vagy küld el egy másik eszköz bemenetéhez, hogy továbbfoglalkozhass vele.

Gyakori kérdések

A generált Dockerfile tényleg lefordul?
Követi az egyes nyelvek szokásos elrendezését — alaprendszerkép, függőségek telepítése, forráskód másolása, indítási parancs — de még mindig elvárja, hogy a projektodnak legyenek a szokásos fájljai (package.json, requirements.txt, go.mod, composer.json vagy pom.xml). Ellenőrizd az útvonalakat és parancsokat a projektod alapján az üzembe helyezés előtt.
Mit változtat meg a multi-stage opció?
Bekapcsolva az első "build" szakaszban telepítsd a függőségeket (Go és Java esetén fordítsd le), a második szakaszban pedig csak az elkészült alkalmazást másold egy friss, minimális képbe — kisebb és sokkal kisebb támadási felület, mint egy olyan kép, amely build toolokat tartalmaz.
Miért fusson root nélküli felhasználóként?
A root felhasználóként futó folyamat egy módosított konténeren belül nagyobb lehetőséggel rendelkezik a gazdagépet érinteni. A nem root opció egy dedikált felhasználót ad hozzá (vagy felhasználja a kép beépített felhasználóját, mint például "node"), és átváltja azt, mielőtt a konténer elindítja az alkalmazást.
Mit kell az ortam változók mezőjébe írni?
Vesszővel vagy sortöréssel elválasztott KULCS=érték párok listája, például NODE_ENV=production, PORT=3000. Mindegyik a saját ENV utasítás lesz. Hagyj üresen, ha ki akarod hagyni ezt a részt.
A projektmagyaráz információ feltöltésre kerül valahová?
Nem. A Dockerfile teljes egészében a böngésződben összeáll az általad választott opciók alapján — a projektodról semmi nem kerül egy szerverhez.