Плагин Docker CLI, который расширяет `docker build` возможностями BuildKit: несколькими сборщиками, мультиплатформенными образами и Bake.
moby/buildkit
Параллельный и эффективно использующий кэш инструментарий для сборки артефактов из исходного кода; поддерживает Dockerfile через фронтенды и служит движком для сборок Docker.
- Звёзды
- 10,374
- Форки
- 1,565
- Открытые issues
- 835
- Последний коммит
- 22 часа назад
Что это?
BuildKit — это инструментарий для воспроизводимой сборки артефактов из исходного кода. Он работает как демон (buildkitd) с клиентом buildctl, а сборки описываются на LLB — бинарном промежуточном формате, задающем граф зависимостей между шагами. Благодаря этому независимые шаги можно выполнять параллельно, а результаты кэшировать для каждой инструкции.
BuildKit не привязан к Dockerfile: его поддержку обеспечивает фронтенд, а для других языков сборки, например YAML, Starlark или определений на Python, можно реализовать собственные фронтенды. Результаты сборки можно сохранять в реестры образов контейнеров, хранилище образов containerd, локальные каталоги, а также в виде архивов Docker, OCI и tar. Кэш можно импортировать и экспортировать через встроенные метаданные, реестры, локальные каталоги, GitHub Actions, S3 и Azure Blob Storage.
Демон поддерживает воркеры OCI (runc) и containerd, может работать без прав root, а его gRPC API можно предоставлять через Unix-сокеты или TCP с защитой mTLS. BuildKit используется в Docker Buildx и Docker Engine, а также в ряде других инструментов сборки.
Ключевые возможности
- 01Параллельное выполнение независимых шагов сборки на основе графа зависимостей LLB
- 02Кэширование сборки на уровне инструкций с возможностью импорта и экспорта через реестры, локальные каталоги, GitHub Actions, S3 и Azure Blob Storage
- 03Подключаемые фронтенды, в том числе для Dockerfile и внешние фронтенды на основе gateway
- 04Несколько типов выходных данных: реестры образов, хранилище containerd, локальные файлы, Docker, OCI и tar
- 05Мультиплатформенные сборки и работа без прав root
- 06Автоматическая очистка кэша сборки
Сценарии использования
- Запуск отдельного демона сборки на Linux-серверах или в кластерах Kubernetes
- Сборка образов контейнеров в CI-пайплайнах с общим кэшем в реестре или бакете S3
- Создание собственных языков сборки на основе LLB для сценариев, не использующих Dockerfile
- Создание локальных артефактов сборки, например отчётов или бинарных файлов, вместо образов контейнеров
Быстрый старт
- 1
Скачайте последние бинарные файлы со страницы релизов
- 2
Запустите демон buildkitd от имени root в Linux
sudo buildkitd - 3
Соберите образ из Dockerfile с помощью buildctl, используя фронтенд dockerfile.v0
buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=.
Что важно знать
- Демон buildkitd работает только в Linux и Windows, но не в macOS.
- Для запуска демона обычно нужны права root, поэтому для настройки rootless требуется дополнительная конфигурация.
- Формула Homebrew для macOS неофициальная и не включает демон.
В подборках
Темы
Частые вопросы
- Что такое buildkit?
- Параллельный и эффективно использующий кэш инструментарий для сборки артефактов из исходного кода; поддерживает Dockerfile через фронтенды и служит движком для сборок Docker. BuildKit — это инструментарий для воспроизводимой сборки артефактов из исходного кода. Он работает как демон (buildkitd) с клиентом buildctl, а сборки описываются на LLB — бинарном промежуточном формате, задающем граф зависимостей между шагами. Благодаря этому независимые шаги можно выполнять параллельно, а результаты кэшировать для каждой инструкции.
- buildkit можно использовать бесплатно? Какая у него лицензия?
- buildkit распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- buildkit всё ещё поддерживается?
- Активно поддерживается. Последний коммит в buildkit — 6 нояб. 2026 г..
- Для чего можно использовать buildkit?
- Запуск отдельного демона сборки на Linux-серверах или в кластерах Kubernetes Сборка образов контейнеров в CI-пайплайнах с общим кэшем в реестре или бакете S3 Создание собственных языков сборки на основе LLB для сценариев, не использующих Dockerfile Создание локальных артефактов сборки, например отчётов или бинарных файлов, вместо образов контейнеров
- Как установить buildkit?
- Скачайте последние бинарные файлы со страницы релизов Запустите демон buildkitd от имени root в Linux: sudo buildkitd Соберите образ из Dockerfile с помощью buildctl, используя фронтенд dockerfile.v0: buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=.
- Где скачать buildkit?
- Исходный код и инструкции по установке — на GitHub: https://github.com/moby/buildkit
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Правила Bazel для сборки OCI-образов из целей Bazel: неглубокая загрузка базовых образов, дедупликация слоёв и стратегии публикации, не передающие данные через локальную машину.
Интерактивный отладчик сборок Dockerfile на базе BuildKit: точки останова, пошаговое выполнение и доступ к shell внутри этапов сборки.
Набор инструментов на базе Docker для запуска, сборки, дообучения и упаковки открытых LLM с OpenAI-совместимым API.
Программируемый движок автоматизации для сборки, тестирования и доставки кодовых баз в контейнерах — локально, в CI или в облаке.
Платформа для сборки монорепозиториев с TypeScript и кодом на разных языках: кэширует неизменившиеся задачи, запускает только затронутые и интегрируется с CI.