实验的

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

该块定义了一组可以并发构建的目标。 每个数据块都使用自己的配置定义一个构建目标,例如 构建上下文、Dockerfile 和标签。grouptarget

要使用上述 Bake 文件调用构建,您可以运行:

$ docker buildx bake

这将执行 group,该 group 同时构建 和 目标。defaultfrontendbackend

开始使用

要了解如何开始使用 Bake,请前往 Bake 简介