Каждая инструкция в Dockerfile создает слой. Слои кешируются; при пересборке переиспользуются до первой измененной инструкции. Порядок важен: реже меняемое - выше. COPY зависимостей отдельно от кода.