Ускоряем работу с Docker без тормозов.

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

dockerкешci/cd

ℹ️ Обычно, если мы собираем контейнер с --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

Иллюстрация: стилизованный логотип Docker — кашалот с контейнерами, шестерёнками и индикатором скорости, символ ускорения сборки в CI/CD.
Схематичная иллюстрация ускорения Docker-сборок

Читайте так же