ℹ️ Обычно, если мы собираем контейнер с --no-cache, то все слои скачиваются заново, включая установку зависимостей. Это особенно неприятно при сборке образов с Python (pip install), Node.js (npm install) или Go (go mod download).
🔥 Можно принудительно использовать кэш только для зависимостей, а остальное собирать с нуля:
docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from=myimage:latest --no-cache -t myimage .
ℹ️ Как это работает?
--build-arg BUILDKIT_INLINE_CACHE=1– позволяет сохранить кэш.--cache-from=myimage:latest– подтягивает кэш предыдущего образа (например, загруженного сregistry).--no-cache– заставляет пересобрать все слои кроме тех, что удалось взять из кэша.
✳️ Этот трюк ускоряет CI/CD-сборку в несколько раз, так как скачивание и установка зависимостей (Python, Node.js и т. д.) остаётся закэшированной.
tags: #полезно #docker #cicd
🧭 @recura_tech



