Ответ
Минимальный Dockerfile должен содержать три директивы:
FROM— указание базового образа.COPYилиADD— копирование файлов приложения в контейнер.CMDилиENTRYPOINT— команда для запуска приложения при старте контейнера.
Пример минимального Dockerfile для веб-приложения на Python:
FROM python:3.11-slim
WORKDIR /app
COPY . .
CMD ["python", "app.py"]
Почему этого достаточно? Образ python:3.11-slim уже содержит интерпретатор и базовые утилиты. Директива COPY помещает код в контейнер, а CMD определяет, что запускать. Однако для реальных проектов почти всегда требуются дополнительные шаги: установка зависимостей (RUN pip install -r requirements.txt), настройка портов (EXPOSE) и оптимизация слоев (например, копирование requirements.txt отдельно для кэширования).