Текст и данные · Инструкция
Как использовать RUN --mount=type=cache в Dockerfile
Обычный layer cache полностью инвалидируется при изменении зависимого шага; cache mount позволяет отдельно переиспользов
Короткий ответ
Добавьте cache mount к каталогу кэша пакетного менеджера, например `RUN --mount=type=cache,target=/root/.npm npm install`. Кэш сохраняется между сборками, поэтому повторно скачиваются только новые или изменённые пакеты.
Что делать
- Определите каталог кэша вашего package manager.
- В Dockerfile используйте современный синтаксис `RUN --mount=type=cache,target=.. <команда>`.
- Для npm пример target — `/root/.npm`; для pip — `/root/.cache/pip`.
- Соберите image дважды и сравните время/скачивание пакетов.
- Если сборки идут параллельно, проверьте требования package manager к блокировкам cache mount.
Важно
- Cache mount ускоряет build, но не должен заменять корректную фиксацию версий зависимостей.
Что учитывать
Cache mount ускоряет build, но не должен заменять корректную фиксацию версий зависимостей.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Optimize cache usage in builds). Пример и формулировки — редакция N1RO на 2026-09-18.