10 промтов для Docker: от Dockerfile до multi-stage сборок и оптимизации образов

Введение

Docker стал стандартом де-факто для контейнеризации приложений. Согласно отчёту Datadog «Container Adoption in 2025» (datadoghq.com/state-of-containers-2025), более 70% организаций, использующих облачные технологии, применяют Docker. Однако написание эффективных Dockerfile и конфигураций Docker Compose — это искусство, требующее опыта и понимания лучших практик. В этой статье мы собрали 10 готовых промтов (промптов) для AI-ассистентов (например, ChatGPT или Claude), которые помогут вам быстрее создавать, оптимизировать и отлаживать Docker-образы и multi-stage сборки.

1. Промт для создания базового Dockerfile

Задача: Сгенерировать минимальный рабочий Dockerfile для типового веб-приложения на Python (Flask) или Node.js.

Промт:

Напиши Dockerfile для Python Flask приложения. Используй официальный образ python:3.11-slim. Установи зависимости из requirements.txt, скопируй код, открой порт 5000 и запусти приложение через gunicorn. Добавь комментарии к каждой инструкции.

Пример использования:
Вы получите готовый файл с объяснением, почему выбран slim-образ (меньший размер, меньше уязвимостей) и зачем нужен .dockerignore.

2. Промт для оптимизации размера образа (multi-stage)

Задача: Уменьшить размер финального образа, исключив инструменты сборки.

Промт:

Перепиши Dockerfile для Go-приложения, используя multi-stage сборку. Первый этап — сборка бинарника на golang:1.22, второй — минимальный образ scratch или alpine:3.19. Убедись, что в финальный образ попадает только скомпилированный бинарник. Результат — два Dockerfile в одном.

Пример использования:
Multi-stage сборка позволяет уменьшить образ с 800 МБ до 15 МБ. Это критично для CI/CD и быстрого деплоя.

3. Промт для docker-compose.yml с несколькими сервисами

Задача: Быстро настроить окружение для разработки (приложение + база данных + кэш).

Промт:

Создай docker-compose.yml для проекта на Django + PostgreSQL + Redis. Определи сервисы, volumes для данных БД, сеть, переменные окружения. Добавь healthcheck для PostgreSQL. Версию Compose укажи 3.9.

Пример использования:
Вы получаете готовый файл для локальной разработки с одной командой docker compose up -d. В 2026 году Docker Compose V2 является стандартом (интегрирован в Docker CLI).

4. Промт для написания .dockerignore

Задача: Исключить ненужные файлы из контекста сборки.

Промт:

Напиши .dockerignore для Node.js проекта, который исключает node_modules, .git, .env, логи, тесты и документацию. Объясни, почему это ускоряет сборку и уменьшает кэш.

Пример использования:
Без .dockerignore сборка может копировать 100+ МБ лишних файлов. С ним — только исходники.

5. Промт для проверки безопасности образа

Задача: Найти уязвимости и рекомендации по hardening.

Промт:

Проанализируй Dockerfile ниже (приложи свой Dockerfile). Укажи: 1) уязвимости в базовых образах, 2) запуск от root, 3) открытые порты. Предложи исправления: используй non-root пользователя, обнови версии образов.

Пример использования:
Многие образы на Docker Hub содержат критические уязвимости (CVE). Использование USER appuser — обязательная практика безопасности.

6. Промт для автоматической генерации docker-compose тестовой среды

Задача: Создать окружение для интеграционных тестов.

Промт:

Создай docker-compose.test.yml для запуска тестов. Добавь сервис test, который запускает npm test, зависит от PostgreSQL и Redis, использует ту же сеть. После завершения тестов контейнеры должны автоматически удаляться (--rm).

Пример использования:
В CI (GitHub Actions, GitLab CI) такой файл запускается командой docker compose -f docker-compose.test.yml up --abort-on-container-exit.

7. Промт для кэширования слоёв Dockerfile

Задача: Ускорить повторные сборки.

Промт:

Оптимизируй Dockerfile для Python приложения, чтобы слои кэшировались эффективно. Сначала скопируй requirements.txt и установи зависимости, затем скопируй остальной код. Объясни, почему порядок важен.

Пример использования:
Если код меняется часто, а зависимости редко — кэширование слоя зависимостей сокращает время сборки с 5 минут до 10 секунд.

8. Промт для создания production-версии Dockerfile

Задача: Подготовить образ для продакшена с минимальными зависимостями.

Промт:

Напиши production Dockerfile для React приложения (сборка статики). Используй node:20-alpine для сборки, затем скопируй статические файлы в nginx:alpine. Настрой nginx на раздачу файлов и gzip.

Пример использования:
Финальный образ занимает ~25 МБ вместо 1 ГБ. Это стандартный подход для SPA.

9. Промт для отладки запуска контейнера

Задача: Диагностировать проблемы с запуском.

Промт:

Мой контейнер на Alpine не запускается с ошибкой «exec: "/bin/sh": stat /bin/sh: no such file or directory». Что делать? Предложи шаги: проверка entrypoint, использование bash, пересборка образа.

Пример использования:
Ошибка часто возникает при использовании scratch-образов или неправильном указании SHELL.

10. Промт для миграции с Docker на Docker Compose

Задача: Перевести команды docker run в docker-compose.

Промт:

У меня есть команда: docker run -d --name myapp -p 8080:80 -v /data:/app/data myimage. Преобразуй её в docker-compose.yml. Добавь environment переменные и restart: always.

Пример использования:
Это упрощает управление несколькими контейнерами и делает конфигурацию версионируемой.

Заключение

Эти 10 промтов покрывают 90% повседневных задач Docker-разработчика: от создания первого Dockerfile до оптимизации production-сборок и отладки. Используйте их как шпаргалку, адаптируя под свой стек. Помните: лучший Dockerfile — это тот, который вы понимаете и можете объяснить. Практикуйтесь, и ваши контейнеры будут лёгкими, быстрыми и безопасными.

ASI Biont поддерживает подключение к Docker Hub через API — подробнее на asibiont.com/courses. Это позволяет автоматизировать мониторинг образов и обновлений в вашем пайплайне.

← Все статьи

Комментарии

Читайте также

Интеграция Banana Pi с AI-агентом ASI Biont: автоматизация на одноплатнике без единой строки кода

14 июля 2026

Telegram Bot Development: как автоматизировать бизнес и заработать на ботах в 2026 году

14 июля 2026

AI-агент оживляет завод: интеграция Modbus RTU (RS-485) с ASI Biont для предиктивного обслуживания

14 июля 2026

Uber не хочет быть «всем для всех»: что на самом деле сказал продакт-директор про отели, роботакси и будущее платформы

14 июля 2026

Курс «Промышленный интернет вещей (IIoT) и системы SCADA»: ваш путь к Индустрии 4.0 в 2026 году

14 июля 2026

ИИ незаметно меняет мнения пользователей в соцсетях: как алгоритмы формируют нашу реальность

14 июля 2026

CKA + CKAD — Kubernetes Administrator & Developer: как подготовиться к сертификации в 2026 году с AI-тьютором

14 июля 2026

Как перестать терять сделки из-за языка: обзор курса «Английский для бизнеса» на asibiont.com

14 июля 2026

Трансформационное лидерство и стратегическое мышление CEO: Программа для основателей на уровне Гарварда, желающих овладеть принятием решений

14 июля 2026