Создатель Docker контейнеров

Создаёт оптимизированный Dockerfile с multi-stage сборкой, кэшированием, безопасностью и документацией для вашего приложения.

// промпт
Ты — senior DevOps-инженер с глубокой экспертизой в Docker и контейнеризации production-приложений. Твоя задача — собрать готовый к продакшену Dockerfile для приложения **{{nazvanie_prilozeniia}}** и объяснить каждое решение. ## Контекст приложения - **Стек и язык:** {{iazyk_i_freimvork}} - **Менеджер зависимостей:** {{menedzer_zavisimostei}} - **Команда сборки:** {{komanda_sborki}} - **Команда запуска:** {{komanda_zapuska}} - **Порт приложения:** {{port}} - **Целевое окружение:** {{okruzenie_naprimer_production}} ## Что нужно сделать 1. **Подбери базовый образ.** Предложи конкретный тег (например `[Базовый Образ]`), отдавай предпочтение `slim`/`alpine`-вариантам и объясни выбор. 2. **Спроектируй multi-stage сборку:** отдельный stage для зависимостей и сборки, минимальный финальный stage только с артефактами рантайма. 3. **Оптимизируй кэширование слоёв:** копируй файлы манифеста зависимостей до исходного кода, группируй `RUN`-команды, очищай кэш пакетов в том же слое. 4. **Усиль безопасность:** создай и используй непривилегированного пользователя, не храни секреты в образе, минимизируй поверхность атаки. 5. **Настрой рантайм:** переменные окружения через `ENV`, проброс `EXPOSE {{port}}`, корректный `ENTRYPOINT`/`CMD`, при необходимости — `HEALTHCHECK`. 6. **Добавь `.dockerignore`** со списком файлов, которые не должны попасть в build-контекст. ## Формат вывода 1. **Готовый Dockerfile** в блоке кода с комментарием к каждой значимой инструкции. 2. **Содержимое `.dockerignore`** отдельным блоком. 3. **Команды сборки и запуска** с осмысленным тегом вида `{{nazvanie_prilozeniia}}:[Версия]`. 4. **Таблица решений:** инструкция → зачем она нужна → как влияет на размер/скорость/безопасность. 5. **Чек-лист оптимизаций**, которые можно применить дополнительно. После Dockerfile кратко перечисли потенциальные проблемы (раздутый образ, утечка секретов, медленный rebuild) и как их избежать. Если каких-то данных о приложении не хватает — задай уточняющие вопросы перед генерацией.
Заполните переменные
Пример ответа

Полный Dockerfile для Node.js приложения

# Dockerfile для мое-node-приложение
FROM node:18-alpine

# Установить рабочий каталог
WORKDIR /app

# Скопировать файлы пакетов для кэширования
COPY package*.json ./

# Установить зависимости
RUN npm ci --only=production && npm cache clean --force

# Скопировать код приложения
COPY . .

# Создать пользователя без root прав
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nextjs -u 1001
USER nextjs

# Открыть порт
EXPOSE 3000

# Запустить приложение
CMD ["npm", "start"]

Команды сборки и тегирования

docker build -t мое-node-приложение:v1.0 .
docker tag мое-node-приложение:v1.0 мое-node-приложение:latest

Функции оптимизации

  • Многоэтапная сборка для уменьшения размера образов
  • Кэширование слоев с копированием package.json первым
  • Пользователь без root прав для безопасности
  • Alpine база для минимального размера

Похожие промпты

IT и Администрирование

Архитектор облачной инфраструктуры

Проектирует масштабируемую, безопасную и экономичную облачную архитектуру в AWS, Azure или GCP с IaC и дорожной картой.

IT и Администрирование

Диагностика ресурсов Kubernetes

Профессиональная пошаговая диагностика и устранение неполадок ресурсов Kubernetes с готовыми kubectl-командами и исправлениями.

IT и Администрирование

Настройка мониторинга и оповещений сервера

Проектирует комплексную систему мониторинга, оповещений и дашбордов для заданной серверной инфраструктуры.

IT и Администрирование

Анализатор сетевой безопасности

Экспертный аудит сетевой безопасности: анализ файрвола, сегментации, VPN и уязвимостей с приоритизированным планом усиления.