Docker Bake

DevOps 🟡 Mid

Définition

Orchestrateur de builds d'images Docker, déclaré généralement disponible par Docker en février 2025 (Docker Desktop 4.38, plugin Buildx). Un fichier docker-bake.hcl (ou JSON/YAML) décrit des « targets » avec Dockerfile, arguments, plateformes, tags et attestations (SBOM, provenance) ; « docker buildx bake » construit plusieurs images, multi-plateformes, en parallèle, sans longues lignes de commande.

Analogie

Ce que Compose fait pour l'exécution des conteneurs, Bake le fait pour leur fabrication : une seule fiche de production au lieu de dix commandes à retenir.

Exemple de code

# docker-bake.hcl
group "default" { targets = ["api", "worker"] }

target "api" {
  context    = "."
  dockerfile = "Dockerfile"
  platforms  = ["linux/amd64", "linux/arm64"]
  tags       = ["ghcr.io/acme/api:1.4.0"]
  attest     = ["type=sbom", "type=provenance,mode=max"]
}
target "worker" { inherits = ["api"], target = "worker" }

# docker buildx bake            # construit tout le groupe
# docker buildx bake api --push # une cible, puis push

Cas d'usage

Monorepo qui produit plusieurs images (API, worker, migrations) multi-architectures avec SBOM et provenance en CI.

Anti-pattern

Dupliquer les mêmes arguments de build dans dix jobs CI au lieu d'un fichier Bake versionné avec héritage entre cibles.
#devops#docker#build

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre