Files
docker_practice/08_buildx/8.2_buildx.md
2026-02-09 11:34:35 -08:00

44 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 使用 Buildx 构建镜像
### 使用
Buildx 的使用非常直观绝大多数情况下可以替代 `docker build` 命令
你可以直接使用 `docker buildx build` 命令构建镜像
```bash
$ docker buildx build .
[+] Building 8.4s (23/32)
=> ...
```
Buildx 使用 [BuildKit 引擎](8.1_buildkit.md) 进行构建支持许多新的功能具体参考 [Buildkit](8.1_buildkit.md) 一节
#### 使用 `bake`
`docker buildx bake` 是一个高级构建命令支持从 HCLJSON Compose 文件中定义构建目标实现复杂的流水线构建
```bash
## 从 docker-compose.yml 构建所有服务
$ docker buildx bake
## 仅构建指定目标
$ docker buildx bake web
```
#### 生成 SBOM
Buildx 支持在构建时直接生成 SBOM (Software Bill of Materials)这对于软件供应链安全至关重要
```bash
$ docker buildx build --sbom=true -t myimage .
```
该命令会在构建结果中包含 SPDX CycloneDX 格式的 SBOM 数据
### 官方文档
* https://docs.docker.com/engine/reference/commandline/buildx/