⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Bake

Table des matières

Bake est une fonctionnalité de Docker Buildx qui vous permet de définir votre configuration de build en utilisant un fichier déclaratif, par opposition à la spécification d'une expression CLI complexe. Il vous permet également d'exécuter plusieurs builds simultanément en une seule invocation.

Un fichier Bake peut être écrit aux formats HCL, JSON ou YAML, où le format YAML est une extension d'un fichier Docker Compose. Voici un exemple de fichier Bake au format 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.24"
  }
  tags = ["myapp/backend:latest"]
}

Le bloc group définit un groupe de cibles qui peuvent être construites simultanément. Chaque bloc target définit une cible de build avec sa propre configuration, telle que le contexte de build, le Dockerfile et les tags.

Pour invoquer un build en utilisant le fichier Bake ci-dessus, vous pouvez exécuter :

$ docker buildx bake

Cela exécute le groupe default, qui construit les cibles frontend et backend simultanément.

Démarrer

Pour apprendre à démarrer avec Bake, consultez l'Introduction à Bake.