Compartir comentarios
Las respuestas se generan en base a la documentación.

Bake

Tabla de contenidos

Bake es una característica de Docker Buildx que te permite definir tu configuración de compilación mediante un archivo declarativo, en lugar de tener que especificar una expresión compleja en la CLI. También te permite ejecutar múltiples compilaciones de forma concurrente con una sola invocación.

Un archivo de Bake se puede escribir en formato HCL o JSON. Bake también puede realizar compilaciones directamente desde un archivo de Docker Compose. Aquí tienes un ejemplo de archivo de Bake en formato HCL:

docker-bake.hcl
group "default" {
  targets = ["frontend", "backend"]
}

target "frontend" {
  context = "./frontend"
  dockerfile = "frontend.Dockerfile"
  args = {
    NODE_VERSION = "22"
  }
  tags = ["myapp/frontend:latest"]
}

target "backend" {
  context = "./backend"
  dockerfile = "backend.Dockerfile"
  args = {
    GO_VERSION = "1.25"
  }
  tags = ["myapp/backend:latest"]
}

El bloque group define un grupo de objetivos (targets) que se pueden compilar de forma concurrente. Cada bloque target define un objetivo de compilación con su propia configuración, como el contexto de compilación, el Dockerfile y las etiquetas (tags).

Para iniciar una compilación utilizando el archivo de Bake anterior, puedes ejecutar:

$ docker buildx bake

Esto ejecuta el grupo default, el cual compila los objetivos frontend y backend de manera concurrente.

Empezar

Para aprender cómo dar tus primeros pasos con Bake, dirígete a la introducción a Bake.