Preskoči na vsebino
100% lokalno

Generator Dockerfile-ja

Zgradite Dockerfile za produkcijo za vaš jezik z večstopenjsko gradnjo in privzetimi vrednostmi.

Izhod

Generator Dockerfile-ja

Izberite jezik in to orodje bo sestavilo Dockerfile okrog njega — bazno sliko, namestitev odvisnosti in ukaz, ki zažene aplikacijo — namesto da bi začeli s prazno datoteko ali prekopirate staro iz starejšega projekta, ki že ne ustreza. Node.js, Python, Go, PHP, Java in statične spletne strani (vzdrževane z nginx-om) so vse zajete, vsaka s bazno sliko in vrstnim redom slojev, ki jih ta sklad ponavadi pričakuje.

Možnosti pokrivajo tisto, kar se spreminja med projekti. Izberite upravljavca paketov — npm, Yarn ali pnpm za Node; pip ali Poetry za Python — tako da sloj namestitve kopira pravi manifest in zaklepanje datoteke pred ostalim virom, s čimer se Flask gradnje Docker-ja izogne ponovna namestitve odvisnosti pri vsaki spremembi koda. Vklopite večstopenjsko gradnjo za namestitev ali prevajanje v eni sliki in kopiiranje samo izgrađenega izhoda v tanko sliko izvajanja, pošiljanje brez prevajalnika ali razvojnih odvisnosti. Ne-root uporabnik, HEALTHCHECK, izpostavljeni vrata, ukaz zagona in vse spremenljivke okolja se nastavijo iz plošče, .dockerignore pa drži .git in node_modules izven konteksta gradnje.

Vsak sloj dobi komentar, ki pojasnjuje, kaj počne in zakaj — dokumentacija toliko kot način za preverjanje datoteke pred njenem comitanjem in enostavno izklopljivo, ko poznate oblik na pamet. Izhod se posodablja, ko spremenite katero koli možnost, zato primerjava enostopenjske gradnje z večstopenjsko ne zahteva ročne regeneracije.

Nič, kar napišete tukaj, ne zapusti vašega brskalnika — Dockerfile je v celoti sestavljen na strani odjemalca v JavaScriptu. Kopirajte rezultat, ga prenesite kot datoteko .txt za lokalno preimenovanje ali ga pošljite na unos drugega orodja, da nadaljujete z delom.

FAQ

Ali je generirani Dockerfile res sestavljen?
Sledi standardno razporeditev za vsak jezik — bazno sliko, namestitev odvisnosti, kopijo izvora, ukaz zagona — vendar pričakuje, da ima vaš projekt običajne datoteke (package.json, requirements.txt, go.mod, composer.json ali pom.xml). Pred razporeditvijo preverite poti in ukaze v skladu z vašim projektom.
Kaj se spremeni z možnostjo večstopenjske gradnje?
Ko je vklopljena, prvi "build" sloj namestv odvisnosti (in prevede, za Go in Java) in drugi sloj kopira samo končano aplikacijo v svežo, minimalno sliko — manjšo in z veliko manjšo površino napada kot ena slika, ki drži svoje build orodja okrog sebe.
Zakaj zagoni kot ne-root uporabnik?
Proces, ki se zaganja kot root v kontejnerju, ki je kompromitiran, ima večjo možnost vpliva na gostitelja. Možnost ne-root doda namenskega uporabnika (ali ponovno uporabi vgrajenega iz slike, kot je "node") in se preklopi nanj, preden kontejner zažene vašo aplikacijo.
Kaj gre v polje spremenljivk okolja?
Popis, ločen z vejicami ali novimi vrsticami ključ=vrednostnih parov, na primer NODE_ENV=production, PORT=3000. Vsaka postane lastni ukaz ENV. Pustite prazno, da popolnoma preskoči oddelek.
Je informacija o mojem projektu naložena negdje?
Ne. Dockerfile je v celoti sestavljen v vašem brskalniku iz možnosti, ki jih izberete — nič o vašem projektu se ne pošlje na strežnik.