removespread / Docker
DOCKER · МОДУЛЬ 02 · УРОК 1

Читаем Dockerfile по шагам

20 мин

FROM, WORKDIR, COPY и CMD: у каждой инструкции своя задача и свой момент выполнения.

Dockerfile и контекст~20 мин
После урока вы сможете
  • Объяснять четыре основные инструкции
  • Различать этапы сборки и запуска
  • Записывать команду в exec-форме

FROM и WORKDIR задают исходные условия

FROM выбирает базовый образ. В нашем python:3.12-alpine уже есть интерпретатор и стандартная библиотека. Ваш app.py туда автоматически не попадает: базовый образ не знает ничего о папке проекта.

FROM python:3.12-alpine
WORKDIR /app

WORKDIR назначает текущую папку для последующих инструкций и запуска. Если её ещё нет, Docker создаст её. Абсолютный путь удобнее относительного: результат не зависит от рабочей папки, унаследованной от базового образа. Именно поэтому здесь явно написано /app, а не просто app.

Наличие тега с номером версии полезно для читаемости, но тег может обновляться у издателя. В учебной среде базовый образ заранее подготовлен. В рабочем проекте команда отдельно определяет, когда обновляет базу и как фиксирует точную версию; выбор маленького образа сам по себе не гарантирует воспроизводимость или безопасность.

Подробнее: Рекомендации Docker по базовым образам и WORKDIR.

Шаг 1 из 5