n1ro°
RU

Текст и данные · Инструкция

Как использовать RUN --mount=type=cache в Dockerfile

Обычный layer cache полностью инвалидируется при изменении зависимого шага; cache mount позволяет отдельно переиспользов

Редакция N1RO · Проверено

Короткий ответ

Добавьте cache mount к каталогу кэша пакетного менеджера, например `RUN --mount=type=cache,target=/root/.npm npm install`. Кэш сохраняется между сборками, поэтому повторно скачиваются только новые или изменённые пакеты.

Что делать

  1. Определите каталог кэша вашего package manager.
  2. В Dockerfile используйте современный синтаксис `RUN --mount=type=cache,target=.. <команда>`.
  3. Для npm пример target — `/root/.npm`; для pip — `/root/.cache/pip`.
  4. Соберите image дважды и сравните время/скачивание пакетов.
  5. Если сборки идут параллельно, проверьте требования package manager к блокировкам cache mount.

Важно

  • Cache mount ускоряет build, но не должен заменять корректную фиксацию версий зависимостей.

Что учитывать

Cache mount ускоряет build, но не должен заменять корректную фиксацию версий зависимостей.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Optimize cache usage in builds). Пример и формулировки — редакция N1RO на 2026-09-18.