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

Введение

Docker — стандарт де-факто для контейнеризации приложений. По данным отчёта Datadog за 2025 год, более 60% организаций используют Docker в production-среде, а среднее число контейнеров на хост выросло до 15. Однако даже опытные разработчики тратят часы на отладку Dockerfile и Compose-файлов. Я собрал 10 проверенных промтов, которые использую ежедневно для ускорения работы с контейнерами. Каждый промт — это готовый шаблон для AI, который экономит время и уменьшает количество ошибок.

1. Генерация Dockerfile для Node.js приложения

Этот промт создаёт production-готовый Dockerfile с multi-stage сборкой.

Промт:

Сгенерируй Dockerfile для Node.js 20 приложения на Express с multi-stage сборкой. Первый этап — установка зависимостей и сборка, второй — минимальный образ на базе node:20-alpine. Используй .dockerignore для node_modules. Добавь HEALTHCHECK через curl.

Пример использования:

FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --only=production

FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/node_modules ./node_modules
COPY . .
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "server.js"]

2. Оптимизация размера образа

Используй этот промт, когда образ раздулся до гигабайтов.

Промт:

Проанализируй этот Dockerfile и предложи 3 способа уменьшить размер образа. Укажи, какие слои можно объединить, какие зависимости перенести в multi-stage. Пример: замена apt-get install на apt-get install --no-install-recommends.

Результат:

Следуя рекомендациям, можно сократить размер образа на 40–60%. Например, для Python-приложения с pandas замена базового образа с python:3.11-slim на python:3.11-alpine уменьшает размер с 800 МБ до 250 МБ.

3. Docker Compose для разработки и продакшена

Промт для генерации Compose-файла с разделением на dev и prod.

Промт:

Создай docker-compose.yml для приложения на Python FastAPI с PostgreSQL и Redis. Добавь два профиля: dev (с монтированием volumes и hot-reload) и prod (с ограничением ресурсов и healthcheck). Используй .env для переменных.

Пример:

version: '3.8'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    env_file: .env
    profiles:
      - dev
    volumes:
      - .:/app
    command: uvicorn main:app --reload

  db:
    image: postgres:15
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASS}

4. Отладка контейнера в реальном времени

Когда контейнер падает при старте, этот промт помогает найти причину.

Промт:

Контейнер на основе образа nginx:alpine падает с exit code 139. Напиши команды для инспекции: как зайти в контейнер с shell, проверить логи, изменить CMD для отладки. Добавь пример docker run с --entrypoint.

Решение:

docker run -it --rm --entrypoint /bin/sh nginx:alpine -c "nginx -t && nginx -g 'daemon off;'"

5. Multi-stage сборка для Go-приложения

Промт для создания минимального образа Go-бинарника.

Промт:

Напиши Dockerfile для Go 1.22 приложения с CGO_ENABLED=0. Первый этап — сборка с golang:1.22-alpine, второй — scratch с копированием бинарника и CA-сертификатов. Добавь аргументы для версии и порта.

6. Работа с секретами в Docker

Как не хранить пароли в образе.

Промт:

Покажи, как использовать Docker secrets в Compose-файле для передачи пароля к PostgreSQL. Используй secrets вместо переменных окружения. Добавь пример файла secrets.txt и команду для создания секрета.

7. Лимиты ресурсов и мониторинг

Промт для настройки ограничений CPU и памяти.

Промт:

Настрой docker-compose.yml для сервиса на Java 17 с ограничением памяти 512 МБ и CPU 0.5. Добавь мониторинг через docker stats и настрой restart policy для высокой доступности.

Пример:

services:
  app:
    image: openjdk:17-slim
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
    restart: unless-stopped

8. Тестирование Dockerfile с помощью hadolint

Промт для проверки Dockerfile на best practices.

Промт:

Проанализируй этот Dockerfile с помощью hadolint. Выведи все ошибки и рекомендации по каждому правилу. Используй образ hadolint/hadolint:latest-debian.

Команда:

docker run --rm -i hadolint/hadolint < Dockerfile

9. Сборка образов для разных архитектур

Промт для создания multi-arch образов (AMD64 + ARM64).

Промт:

Настрой Docker Buildx для сборки multi-arch образа для платформ linux/amd64 и linux/arm64. Используй builder instance с драйвером docker-container. Добавь команду для push в registry.

10. Миграция с Docker на Podman

Промт для тех, кто хочет перейти на daemonless контейнеры.

Промт:

Сравни Docker и Podman для production-среды. Напиши, как запустить docker-compose.yml с помощью podman-compose без изменения файлов. Укажи отличия в командах (docker vs podman) и преимущества Podman (отсутствие демона, rootless).

Заключение

Эти 10 промтов покрывают 80% задач, с которыми я сталкиваюсь в работе с Docker. Используйте их как шпаргалку: скопируйте промт, вставьте в AI-инструмент (ChatGPT, Claude или локальную модель), адаптируйте под свой проект. Главное — не копируйте слепо: проверяйте версии пакетов, обновляйте базовые образы и тестируйте сборки. Dockerfile не должен быть чёрным ящиком — понимайте каждый слой. Начните с промта №1 — он даст production-готовый шаблон за 30 секунд. А если хотите глубже разобраться, изучите официальную документацию Docker и рекомендации от Snyk по безопасности образов.

← Все статьи

Комментарии

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

Планирование встреч с помощью ИИ-агента: как интеграция ASI Biont и Calendly устраняет хаос в расписании

16 июля 2026

Каким будет AI Engineer через 2 года? Мы обновили магистратуру, вот почему это было неизбежно

16 июля 2026

Интеграция BeagleBone Black с AI-агентом ASI Biont: управление GPIO, сбор данных и автоматизация через чат

16 июля 2026

Автоматизация управления кластерами Kubernetes с помощью AI-агента ASI Biont: No-Code DevOps для масштабирования, устранения неполадок и обновлений

16 июля 2026

Sony снова удаляет купленные фильмы: что это значит для владельцев цифровых копий

16 июля 2026

SEC и инсайдерская торговля: регулирование и соблюдение требований: дорожная карта этичной торговли в 2026 году

16 июля 2026

Terraform + ASI Biont: AI-агент для автоматизации инфраструктуры без единой строки кода

16 июля 2026

Как AI-агент ASI Biont и Plaid интеграция автоматизируют кредитование: от данных до решения за 2 минуты

16 июля 2026

Точи меч, забудь про скачивания: ‘Onimusha: Way of the Sword’ выходит на GeForce NOW

16 июля 2026