Что такое Dockerfile
Dockerfile — это текстовый файл, который описывает шаги сборки Docker image. Docker читает инструкции по порядку и создаёт слои образа. Обычно файл называется Dockerfile и находится в корне проекта.
FROM
FROM задаёт базовый image, с которого начинается сборка. Как правило, Dockerfile начинается с этой инструкции.
FROM python:3.12-slim
RUN
RUN выполняет команду во время сборки image. Например, через него устанавливают системные зависимости или Python-пакеты.
RUN pip install --no-cache-dir fastapi uvicorn
COPY
COPY копирует файлы из build context внутрь image.
COPY . /app
CMD
CMD задаёт команду по умолчанию, которая будет выполнена при запуске контейнера. Пользователь может заменить её аргументами docker run.
CMD ["python", "main.py"]
Пример Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
Другие полезные инструкции
WORKDIR — задаёт рабочую директорию;
ENV — устанавливает переменную окружения;
EXPOSE — документирует порт приложения;
ENTRYPOINT — задаёт основной исполняемый файл контейнера.
Как ответить на собеседовании
Dockerfile описывает сборку image. FROM задаёт базовый образ, RUN выполняет команды на этапе сборки, COPY переносит файлы в image, а CMD задаёт команду по умолчанию при запуске контейнера.