# Bake


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](/build/compose-file/). Aquí tienes un ejemplo de archivo de Bake en formato HCL:

```hcl {title=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:

```console
$ 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](/build/introduction/).

