Repolode
moby

moby/buildkit

Un kit de herramientas de compilación concurrente y eficiente en el uso de caché que convierte código fuente en artefactos, admite Dockerfile mediante frontends y sirve como motor de las compilaciones de Docker.

Estrellas
10,374
Forks
1,565
Issues abiertos
835
Último commit
hace 17 horas

¿Qué es?

BuildKit es un kit de herramientas para convertir código fuente en artefactos de compilación de forma reproducible. Se ejecuta como un daemon (buildkitd) con un cliente buildctl, y las compilaciones se describen en LLB, un formato intermedio binario que define un grafo de dependencias de pasos de compilación. Así, los pasos independientes pueden ejecutarse en paralelo y los resultados se almacenan en caché instrucción por instrucción.

BuildKit no depende de Dockerfile: la compatibilidad con Dockerfile se proporciona mediante un frontend, y se pueden implementar frontends para otros lenguajes de compilación, como YAML, Starlark o definiciones basadas en Python. Los resultados pueden enviarse a registros de imágenes de contenedor, al almacén de imágenes de containerd, a directorios locales y a archivos Docker, OCI y tar. La caché se puede importar y exportar mediante metadatos inline, registros, directorios locales, GitHub Actions, S3 y Azure Blob Storage.

El daemon admite workers OCI (runc) y de containerd, puede ejecutarse sin privilegios de root y puede exponer su API gRPC a través de sockets Unix o TCP protegido con mTLS. Lo utilizan Docker Buildx y Docker Engine, además de otras herramientas de compilación.

Funciones clave

  • 01Ejecución en paralelo de pasos de compilación independientes mediante el grafo de dependencias de LLB
  • 02Caché de compilación a nivel de instrucción, con importación y exportación a registros, directorios locales, GitHub Actions, S3 y Azure Blob Storage
  • 03Frontends conectables, incluidos Dockerfile y frontends externos basados en gateway
  • 04Varios tipos de salida: registros de imágenes, almacén de containerd, archivos locales y formatos Docker, OCI y tar
  • 05Compilaciones multiplataforma y ejecución sin privilegios de root
  • 06Recolección automática de basura de la caché de compilación

Casos de uso

  • Ejecutar un daemon de compilación independiente en servidores Linux o clústeres de Kubernetes
  • Compilar imágenes de contenedor con caché compartida mediante un registro o un bucket de S3 en pipelines de CI
  • Definir lenguajes de compilación personalizados sobre LLB para flujos de trabajo que no usan Dockerfile
  • Generar artefactos de compilación locales, como informes o binarios, en lugar de imágenes de contenedor

Inicio rápido

  1. 1

    Descarga los binarios más recientes desde la página de lanzamientos

  2. 2

    Inicia el daemon buildkitd como root en Linux

    sudo buildkitd
  3. 3

    Crea una imagen a partir de un Dockerfile con buildctl usando el frontend dockerfile.v0

    buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=.

Antes de usarlo

  • El daemon buildkitd solo se ejecuta en Linux y Windows, no en macOS.
  • Normalmente, para iniciar el daemon se necesitan permisos de root, por lo que la configuración rootless requiere ajustes adicionales.
  • La fórmula de Homebrew para macOS no es oficial y no incluye el daemon.

En colecciones

Temas

Preguntas frecuentes

¿Qué es buildkit?
Un kit de herramientas de compilación concurrente y eficiente en el uso de caché que convierte código fuente en artefactos, admite Dockerfile mediante frontends y sirve como motor de las compilaciones de Docker. BuildKit es un kit de herramientas para convertir código fuente en artefactos de compilación de forma reproducible. Se ejecuta como un daemon (buildkitd) con un cliente buildctl, y las compilaciones se describen en LLB, un formato intermedio binario que define un grafo de dependencias de pasos de compilación. Así, los pasos independientes pueden ejecutarse en paralelo y los resultados se almacenan en caché instrucción por instrucción.
¿buildkit es gratuito? ¿Qué licencia tiene?
buildkit es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿buildkit sigue mantenido?
Mantenimiento activo. El último commit de buildkit fue el 6 nov 2026.
¿Para qué puedo usar buildkit?
Ejecutar un daemon de compilación independiente en servidores Linux o clústeres de Kubernetes Compilar imágenes de contenedor con caché compartida mediante un registro o un bucket de S3 en pipelines de CI Definir lenguajes de compilación personalizados sobre LLB para flujos de trabajo que no usan Dockerfile Generar artefactos de compilación locales, como informes o binarios, en lugar de imágenes de contenedor
¿Cómo se instala buildkit?
Descarga los binarios más recientes desde la página de lanzamientos Inicia el daemon buildkitd como root en Linux: sudo buildkitd Crea una imagen a partir de un Dockerfile con buildctl usando el frontend dockerfile.v0: buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=.
¿Dónde consigo buildkit?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/moby/buildkit

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados