Ga naar inhoud
100% lokaal

Dockerfile-generator

Genereer een productierijp Dockerfile voor je taal, met multi-stage builds en verstandige standaardwaarden.

Uitvoer

Dockerfile-generator

Kies een taal en deze tool stelt een Dockerfile voor je samen – het basisimage, de afhankelijkheidsinstallatie en het commando om de app te starten – in plaats van dat je met een leeg bestand begint of er een uit een oud project kopieert dat niet meer past. Node.js, Python, Go, PHP, Java en statische sites (bediend met nginx) zijn allemaal abgedekt, elk met het basisimage en de laagvolgorde die die stack normaal verwacht.

De opties dekken af wat verschilt tussen projecten. Kies de pakketbeheerder – npm, Yarn of pnpm voor Node; pip of Poetry voor Python – zodat de installatielaag het juiste manifest en vergrendelingsbestand kopieert voordat de rest van de broncode komt, zodat Dockers build-cache geen afhankelijkheden opnieuw installeert bij elke codewijziging. Zet de multi-stage build aan om in één image te installeren of te compileren en kopieer alleen de gebouwde output naar een slanke runtime-image, zonder compiler of dev-afhankelijkheden. Een niet-root-gebruiker, een HEALTHCHECK, de blootgestelde poort, het startcommando en alle omgevingsvariabelen worden ingesteld via het paneel, en de .dockerignore houdt .git en node_modules uit de build-context.

Elke laag krijgt een korte opmerking die uitlegt wat het doet en waarom – documentatie net zozeer als een manier om het bestand voor het committen te controleren, en gemakkelijk uit te schakelen als je de vorm uit je hoofd kent. Output wordt bijgewerkt terwijl je een optie wijzigt, dus het vergelijken van een single-stage build met een multi-stage build vereist geen handmatige regeneratie.

Niets wat je hier typt, verlaat je browser – het Dockerfile wordt volledig aan de clientzijde in JavaScript samengesteld. Kopieer het resultaat, download het als .txt-bestand om lokaal een naam te geven, of stuur het naar de invoer van een ander hulpmiddel om ermee verder te werken.

FAQ

Bouwt de gegenereerde Dockerfile eigenlijk?
Het volgt de standaardlay-out voor elke taal – basisimage, afhankelijkheidsinstallatie, bronkopie, startcommando – maar het verwacht nog steeds dat je project de gebruikelijke bestanden heeft (package.json, requirements.txt, go.mod, composer.json of pom.xml). Controleer paden en commando's tegen je project voordat je implementeert.
Wat verandert de multi-stage optie?
Met multi-stage build aan, installeert een eerste "build"-laag afhankelijkheden (en compileert voor Go en Java) en een tweede laag kopieert alleen de voltooide app naar een vers, minimaal image – kleiner en met een veel kleiner aanvalsoppervlak dan een image dat zijn build-tools behoudt.
Waarom uitvoeren als niet-root-gebruiker?
Een proces dat als root in een gecompromitteerde container wordt uitgevoerd, heeft meer mogelijkheden om de host te beïnvloeden. De niet-root-optie voegt een dedicated gebruiker toe (of hergebruikt de ingebouwde van de image, zoals "node") en schakelt erover voordat de container je app start.
Wat gaat in het omgevingsvariabelenveld?
Een met komma's of regeleinden gescheiden lijst van SLEUTEL=waarde-paren, bijvoorbeeld NODE_ENV=production, PORT=3000. Elk wordt zijn eigen ENV-instructie. Laat het leeg om het gedeelte volledig over te slaan.
Wordt mijn projectinformatie ergens geüpload?
Nee. Het Dockerfile wordt volledig in je browser samengesteld uit de opties die je kiest – niets over je project wordt naar een server gestuurd.