烘焙

目录

实验性

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介绍