Bake

實驗性

Bake 是一項實驗性功能,我們正在尋找 使用者意見回饋

Bake 是 Docker Buildx 的一項功能,可讓您使用宣告式檔案定義建置設定,而不是指定複雜的 CLI 運算式。它也允許您使用單一呼叫同時執行多個建置。

Bake 檔案可以用 HCL、JSON 或 YAML 格式撰寫,其中 YAML 格式是 Docker Compose 檔案的延伸。以下是以 HCL 格式撰寫的 Bake 檔案範例

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.23"
  }
  tags = ["myapp/backend:latest"]
}

group 區塊定義一組可以同時建置的目標。每個 target 區塊定義一個建置目標及其自身的設定,例如建置上下文、Dockerfile 和標籤。

要使用上述 Bake 檔案叫用建置,您可以執行

$ docker buildx bake

這會執行 default 群組,該群組會同時建置 frontendbackend 目標。

入門指南

若要了解如何開始使用 Bake,請前往 Bake 簡介