Przejdź do treści
100% lokalnie

Generator Dockerfile

Stwórz produkcyjny Dockerfile dla swojego języka z multi-stage buildem i sensownymi wartościami domyślnymi.

Wynik

Generator Dockerfile

Wybierz język, a to narzędzie zbuduje dla ciebie Dockerfile — obraz bazowy, instalacje zależności i polecenie uruchomienia aplikacji — zamiast zaczynać od pustego pliku lub kopiować stary Dockerfile z innego projektu. Node.js, Python, Go, PHP, Java i strony statyczne (serwowane przez nginx) są wszystkie obsługiwane, każdy z odpowiednim obrazem bazowym i kolejnością warstw, którą dany stos zwykle oczekuje.

Opcje pokrywają to, co zmienia się między projektami. Wybierz menedżera pakietów — npm, Yarn lub pnpm dla Node; pip lub Poetry dla Pythona — aby warstwa instalacji kopiowała odpowiedni manifest i plik blokady przed resztą kodu źródłowego, unikając zbędnej reinstalacji zależności przy każdej zmianie kodu. Włącz multi-stage build do kompilacji w jednym obrazie i skopiuj tylko ostateczny wynik do minimalnego obrazu runtime bez kompilatora i zależności dev. Użytkownik bez uprawnień root, HEALTHCHECK, otwarty port, polecenie uruchomienia i zmienne środowiska są ustawiane z panelu, a .dockerignore trzyma poza kontekstem build pliki takie jak .git i node_modules.

Każda warstwa ma krótki komentarz wyjaśniający, co robi i dlaczego — dokumentacja zarazem jako sposób na weryfikację pliku przed committem, i łatwa do wyłączenia, gdy już znasz strukturę. Wyjście aktualizuje się natychmiast, gdy zmienisz dowolną opcję, więc porównanie single-stage i multi-stage buildu nie wymaga ręcznej regeneracji.

Nic, co napiszesz, nie opusci twojej przeglądarki — Dockerfile zostanie zbudowany całkowicie po stronie klienta w JavaScripcie. Skopiuj wynik, pobierz go jako plik .txt do przejścia w projekcie lokalnym, lub wyślij go do innego narzędzia, aby kontynuować pracę.

Częste pytania

Czy wygenerowany Dockerfile będzie naprawdę działać?
Stosuje się do standardowego layoutu dla każdego języka — obraz bazowy, instalacja zależności, kopiranje źródeł, polecenie uruchomienia — ale oczekuje, że twój projekt będzie miał zwyczajne pliki (package.json, requirements.txt, go.mod, composer.json lub pom.xml). Sprawdź ścieżki i polecenia zgodnie z twoim projektem przed wdrożeniem.
Co zmieni opcja multi-stage build?
Gdy włączona, pierwsza faza "build" instaluje zależności (i kompiluje, dla Go i Java) i druga faza kopuje tylko ostateczną aplikację do czystego, minimalnego obrazu — mniejszego i z znacznie mniejszą powierzchnią ataku niż jeden obraz, który zachowuje swoje narzędzia build.
Dlaczego uruchomić jako użytkownik bez uprawnień root?
Proces uruchomiony jako root w kontenerze, który został zagrożony, ma większą zdolność do wpływania na hosta. Opcja bez uprawnień root dodaje dedykowanego użytkownika (lub ponownie używa wbudowanego z obrazu, takiego jak "node") i przełącza się na niego, zanim kontener uruchomi aplikację.
Co wpisać do pola zmiennych środowiska?
Lista par KEY=value rozdzielonych przecinkiem lub nowym wierszem, np. NODE_ENV=production, PORT=3000. Każdy staje się własną instrukcją ENV. Zostaw puste, aby pominąć tę sekcję.
Czy informacje o moim projekcie są przesyłane gdzieś?
Nie. Dockerfile będzie zbudowany całkowicie w twojej przeglądarce na podstawie wybranych opcji — nic o twoim projekcie nie jest wysyłane na żaden serwer.