Многие знают про
docker build, но редко используют BuildKit + multi-stage с опцией `--target` для локальной отладки.👉 Если у тебя много стадий (например, build + тесты + production), ты можешь не собирать всё каждый раз, а запускать только нужную стадию:
Пример:
DOCKER_BUILDKIT=1 docker build --target dev-stage -t myapp:dev .
📈 Что это даёт:
- ⚡️ Пропускаешь финальную сборку (например, оптимизацию прод-образа)
- 🔍 Быстро тестируешь только нужный слой (например, dev-stage)
- 💾 Экономишь кэш и ускоряешь сборку — собирается только то, что нужно
🔥 Включи BuildKit по умолчанию
Добавь в файл
~/.docker/config.json:
{
"features": {
"buildkit": true
}
}
Теперь
docker build всегда использует BuildKit — он быстрее, лучше кэширует и умеет собирать слои параллельно.---
🎯 Бонус-совет: кэш зависимостей через RUN --mount=type=cache
Для Python:
RUN --mount=type=cache,target=/root/.cache \
pip install -r requirements.txt
Для npm:
RUN --mount=type=cache,target=/root/.npm \
npm install
✅ Это ускоряет повторные билды на десятки процентов 💨
👀 Итог:
Не просто строй Docker-образы — строй их умно. BuildKit + правильные таргеты + кэш → твой билд летает 🚀
