style: apply global formatting fixes (struct, spacing, zhlint)

This commit is contained in:
Baohua Yang
2026-02-21 11:08:52 -08:00
parent ad68b2d973
commit 79ac9c639a
159 changed files with 1708 additions and 882 deletions

View File

@@ -48,7 +48,7 @@ COPY --from=builder /app/dist /app/dist
使用多阶段构建构建的镜像中只包含了目标文件夹 `dist`但仍然存在一些问题 `package.json` 文件变动时`RUN npm i && rm -rf ~/.npm` 这一层会重新执行变更多次后生成了大量的中间层镜像
为解决这个问题进一步的我们可以设想一个类似 **数据卷** 的功能在镜像构建时把 `node_modules` 文件夹挂载上去在构建完成后这个 `node_modules` 文件夹会自动卸载实际的镜像中并不包含 `node_modules` 这个文件夹这样我们就省去了每次获取依赖的时间大大增加了镜像构建效率同时也避免了生成了大量的中间层镜像
为解决这个问题进一步的我们可以设想一个类似**数据卷**的功能在镜像构建时把 `node_modules` 文件夹挂载上去在构建完成后这个 `node_modules` 文件夹会自动卸载实际的镜像中并不包含 `node_modules` 这个文件夹这样我们就省去了每次获取依赖的时间大大增加了镜像构建效率同时也避免了生成了大量的中间层镜像
`BuildKit` 提供了 `RUN --mount=type=cache` 指令可以实现上边的设想
@@ -104,7 +104,7 @@ RUN --mount=type=cache,target=/tmp/dist,from=builder,source=/app/dist \
#### `RUN --mount=type=bind`
该指令可以将一个镜像或上一构建阶段的文件挂载到指定位置
该指令可以将一个镜像 (或上一构建阶段) 的文件挂载到指定位置
```docker
## syntax=docker/dockerfile:1
@@ -126,7 +126,7 @@ RUN --mount=type=tmpfs,target=/temp \
#### `RUN --mount=type=secret`
该指令可以将一个文件(例如密钥)挂载到指定位置
该指令可以将一个文件 (例如密钥) 挂载到指定位置
```docker
## syntax=docker/dockerfile:1

View File

@@ -1,5 +1,7 @@
## 9.2 使用 Buildx 构建镜像
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 使用
Buildx 的使用非常直观绝大多数情况下可以替代 `docker build` 命令
@@ -12,7 +14,7 @@ $ docker buildx build .
=> ...
```
Buildx 使用 [BuildKit 引擎](9.1_buildkit.md) 进行构建支持许多新的功能具体参考 [Buildkit](9.1_buildkit.md) 一节
Buildx 使用 [BuildKit 引擎](9.1_buildkit.md)进行构建支持许多新的功能具体参考 [Buildkit](9.1_buildkit.md) 一节
#### 使用 `bake`

View File

@@ -1,6 +1,6 @@
## 9.3 构建多种系统架构支持的 Docker 镜像
Docker 镜像可以支持多种系统架构这意味着你可以在 `x86_64``arm64` 等不同架构的机器上运行同一个镜像这是通过一个名为 "manifest list"或称为 "fat manifest"的文件来实现的
Docker 镜像可以支持多种系统架构这意味着你可以在 `x86_64``arm64` 等不同架构的机器上运行同一个镜像这是通过一个名为 manifest list (或称为 fat manifest) 的文件来实现的
### Manifest List 是什么
@@ -79,14 +79,14 @@ $ docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t your-us
`Dockerfile` 你可以使用一些预定义的构建参数来根据目标平台定制构建过程
* `TARGETPLATFORM`: 构建镜像的目标平台例如 `linux/amd64`
* `TARGETOS`: 目标平台的操作系统例如 `linux`
* `TARGETARCH`: 目标平台的架构例如 `amd64`
* `TARGETVARIANT`: 目标平台的变种例如 `v7`
* `BUILDPLATFORM`: 构建环境的平台
* `BUILDOS`: 构建环境的操作系统
* `BUILDARCH`: 构建环境的架构
* `BUILDVARIANT`: 构建环境的变种
* `TARGETPLATFORM`构建镜像的目标平台例如 `linux/amd64`
* `TARGETOS`目标平台的操作系统例如 `linux`
* `TARGETARCH`目标平台的架构例如 `amd64`
* `TARGETVARIANT`目标平台的变种例如 `v7`
* `BUILDPLATFORM`构建环境的平台
* `BUILDOS`构建环境的操作系统
* `BUILDARCH`构建环境的架构
* `BUILDVARIANT`构建环境的变种
例如你可以这样编写 `Dockerfile` 来拷贝特定架构的二进制文件
@@ -101,7 +101,7 @@ COPY bin/dist-${TARGETOS}-${TARGETARCH} /dist
ENTRYPOINT ["/dist"]
```
### 使用 `docker manifest`底层工具
### 使用 `docker manifest` (底层工具)
除了 `docker buildx`我们也可以直接操作 Manifest List 来手动组合不同架构的镜像

View File

@@ -4,6 +4,10 @@ Docker Buildx 是一个 docker CLI 插件,其扩展了 docker 命令,支持
> Buildx 需要 Docker v19.03+在较新版本中已更常用且功能更完整
## 概述
总体概述了以下内容
## 本章内容
本章将详细介绍 Docker Buildx 的使用包括