Об этом проекте
BuildKit — это набор инструментов сборки, разработанный проектом Moby, который эффективно и воспроизводимо преобразует исходный код в артефакты сборки. Это движок, лежащий в основе `docker build` (через Buildx), предоставляющий автономный демон (`buildkitd`) с клиентским CLI (`buildctl`).
Ключевые возможности включают параллельное разрешение зависимостей, кэширование на уровне инструкций с автоматической сборкой мусора и поддержку нескольких форматов вывода (образы OCI, tar-архивы Docker, локальные каталоги, хранилище образов containerd). Сборки определяются с помощью LLB (Low-Level Build) — бинарного промежуточного формата, обеспечивающего эффективность кэширования и параллельное выполнение. LLB не зависит от конкретного поставщика, что позволяет различным высокоуровневым фронтендам использовать его, включая Dockerfile, Buildpacks, Earthfile (Earthly), Nix, HLB и другие.
BuildKit работает как демон и поддерживает несколько бэкендов-воркеров (OCI/runc и containerd). Его можно развернуть в Linux нативно, в Windows или внутри контейнеров через Podman, Nerdctl или Kubernetes. Демон поддерживает активацию сокета systemd, доступ по TCP, трассировку OpenTelemetry и выполнение без root-прав. Кэш можно экспортировать во встроенные метаданные образа, удалённые реестры, локальные каталоги или кэш GitHub Actions.
Он широко используется в Docker, Docker buildx, Tekton Pipelines, Gitpod, Earthly, Dagger и других проектах CI/CD и контейнерных инструментов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.