Bake

目錄

Bake 是 Docker Buildx 的一個功能,它允許您使用宣告性檔案定義構建配置,而不是指定複雜的 CLI 表示式。它還允許您透過一次呼叫併發執行多個構建。

Bake 檔案可以採用 HCL、JSON 或 YAML 格式編寫,其中 YAML 格式是 Docker Compose 檔案的擴充套件。以下是一個 HCL 格式的 Bake 檔案示例:

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"]
}

group 塊定義了一組可以併發構建的目標。每個 target 塊定義了一個具有自己的配置的構建目標,例如構建上下文、Dockerfile 和標籤。

要使用上述 Bake 檔案啟動構建,您可以執行:

$ docker buildx bake

這會執行 default 組,它會併發構建 frontendbackend 目標。

開始

要了解如何開始使用 Bake,請參閱 Bake 簡介