Вопрос проверяет понимание того, как описывается сборка Docker-образа и из каких базовых шагов она состоит.
Dockerfile — это файл с инструкциями для сборки Docker-образа. В нем указывается базовый образ, зависимости и команда запуска приложения. Основные инструкции — FROM, RUN, COPY, CMD и ENTRYPOINT. Они описывают, как создать окружение и запустить приложение. Понимание этих инструкций необходимо для работы с Docker.
Dockerfile описывает пошаговый процесс создания Docker-образа и напрямую влияет на размер, скорость сборки и поведение контейнера.
Dockerfile — это текстовый файл, содержащий набор инструкций для автоматической сборки Docker-образа.
Перед разбором важно понимать, что каждая инструкция создает слой образа, и порядок инструкций имеет значение.
Задает базовый образ, от которого будет строиться текущий.
FROM python:3.11-slim
всегда используется первой
определяет ОС и окружение
влияет на размер итогового образа
Устанавливает рабочую директорию внутри контейнера.
WORKDIR /app
упрощает команды RUN, COPY, CMD
делает Dockerfile читаемее
Копируют файлы в контейнер.
COPY requirements.txt .
Рекомендации:
чаще использовать COPY
ADD применять только при необходимости (архивы, URL)
Выполняет команды во время сборки образа.
RUN pip install -r requirements.txt
Используется для:
установки зависимостей
настройки окружения
подготовки файлов
Определяет команду по умолчанию при запуске контейнера.
CMD ["python", "app.py"]
может быть переопределена при запуске контейнера
используется для старта приложения
Фиксирует основную команду контейнера.
ENTRYPOINT ["python", "app.py"]
сложнее переопределяется
часто используется вместе с CMD
При работе с Dockerfile часто:
создают слишком много слоев
не используют кеширование
копируют весь проект до установки зависимостей
Понимание базовых инструкций Dockerfile позволяет создавать быстрые, компактные и предсказуемые Docker-образы для backend-приложений.