Перейти до вмісту

Генератор Dockerfile

Створюйте production-ready Dockerfile для вашої мови з багатостадійними збірками та розумними налаштуваннями.

Вихід

Генератор Dockerfile

Виберіть мову, і цей інструмент складе Dockerfile навколо неї — базовий образ, встановлення залежностей та команду запуску застосунку — замість того, щоб починати з порожнього файлу або копіювати старий Dockerfile з попереднього проекту. Node.js, Python, Go, PHP, Java та статичні сайти (з nginx) — усі підтримуються, кожен з правильним базовим образом та порядком шарів, які зазвичай очікує цей стек.

Опції охоплюють те, що змінюється між проектами. Виберіть менеджер пакетів — npm, Yarn або pnpm для Node; pip або Poetry для Python — щоб шар встановлення скопіював правильний маніфест та lockfile перед рештою вихідного коду, зберігаючи кеш Docker від переустановлення залежностей при кожній зміні коду. Увімкніть багатостадійну збірку, щоб встановити або скомпілювати в одному образі та скопіювати лише зібраний результат в тонкий runtime-образ, відправляючи без компілятора чи dev-залежностей. Непривілейований користувач, HEALTHCHECK, відкритий порт, команда запуску та будь-які змінні оточення встановлюються з панелі, а .dockerignore виключає .git та node_modules з контексту збірки.

Кожен шар отримує короткий коментар, що пояснює, що він робить і чому — документація так само, як спосіб перевірити файл перед коммітом, та легко вимкнути, коли ви запам'ятаєте структуру. Результат оновлюється при зміні будь-якої опції, тому порівняння однослійної збірки з багатошаровою не потребує ручної регенерації.

Нічого, що ви вводите, не залишає ваш браузер — Dockerfile збирається повністю на клієнті на JavaScript. Скопіюйте результат, завантажте його як .txt-файл для локального перейменування або відправте в інший інструмент, щоб продовжити роботу.

FAQ

Чи насправді згенерований Dockerfile збирається?
Він дотримується стандартної розмітки для кожної мови — базовий образ, встановлення залежностей, копіювання вихідного коду, команда запуску — але він все ще очікує, що ваш проект має звичайні файли (package.json, requirements.txt, go.mod, composer.json або pom.xml). Перевірте шляхи та команди щодо вашого проекту перед розгортанням.
Що змінює опція багатостадійної збірки?
Коли вона ввімкнена, перший етап "build" встановлює залежності (та компілює для Go та Java), а другий етап копіює лише готовий застосунок у свіжий, мінімальний образ — менший за розміром та з набагато меншою поверхнею атаки, ніж один образ, який утримує свої інструменти збірки.
Чому запускати від непривілейованого користувача?
Процес, запущений від root усередині скомпрометованого контейнера, має більшу можливість впливати на хост. Опція непривілейованого користувача додає спеціального користувача (або переиспользує вбудованого в образі, такого як "node") та перемикається на нього перед запуском застосунку контейнером.
Що вводити в поле змінних оточення?
Список пар КЛЮЧ=значення, розділених комою або новим рядком, наприклад NODE_ENV=production, PORT=3000. Кожна пара стає своєю інструкцією ENV. Залиште порожнім, щоб пропустити цей розділ.
Чи завантажується інформація про мій проект кудись?
Ні. Dockerfile збирається повністю у вашому браузері з обраних вами опцій — ніякої інформації про ваш проект не надсилається на сервер.