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

@@ -1,7 +1,11 @@
## 7.7 ARG 构建参数
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 基本语法
如下代码块所示展示了相关示例
```docker
ARG <参数名>[=<默认值>]
```
@@ -33,8 +37,12 @@ ARG <参数名>[=<默认值>]
### 基本用法
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 定义和使用
如下代码块所示展示了相关示例
```docker
## 定义有默认值的 ARG
@@ -64,8 +72,12 @@ $ docker build --build-arg NODE_VERSION=18 -t myapp .
### ARG 的作用域
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### FROM 之前的 ARG
如下代码块所示展示了相关示例
```docker
## FROM 之前的 ARG 只能用于 FROM 指令
@@ -81,6 +93,8 @@ RUN echo $REGISTRY # 输出空
#### FROM 之后重新声明
如下代码块所示展示了相关示例
```docker
ARG NODE_VERSION=20
@@ -94,6 +108,8 @@ RUN echo "Node version: $NODE_VERSION"
#### 多阶段构建中的 ARG
如下代码块所示展示了相关示例
```docker
ARG BASE_VERSION=alpine
@@ -114,7 +130,11 @@ RUN echo "Running with Node $NODE_VERSION"
### 常见使用场景
#### 1. 控制基础镜像版本
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1控制基础镜像版本
如下代码块所示展示了相关示例
```docker
ARG ALPINE_VERSION=3.19
@@ -125,7 +145,9 @@ FROM alpine:${ALPINE_VERSION}
$ docker build --build-arg ALPINE_VERSION=3.18 .
```
#### 2. 设置软件版本
#### 2设置软件版本
如下代码块所示展示了相关示例
```docker
ARG NGINX_VERSION=1.25.0
@@ -133,7 +155,9 @@ ARG NGINX_VERSION=1.25.0
RUN curl -fsSL https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz | tar -xz
```
#### 3. 配置构建环境
#### 3配置构建环境
如下代码块所示展示了相关示例
```docker
ARG BUILD_ENV=production
@@ -146,7 +170,9 @@ RUN if [ "$ENABLE_DEBUG" = "true" ]; then \
fi
```
#### 4. 配置私有仓库
#### 4配置私有仓库
如下代码块所示展示了相关示例
```docker
ARG NPM_TOKEN
@@ -203,7 +229,11 @@ $ docker build --build-arg HTTP_PROXY=http://proxy:8080 .
### 最佳实践
#### 1. ARG 提供合理默认值
本节涵盖了相关内容与详细描述主要探讨以下几个方面
#### 1 ARG 提供合理默认值
如下代码块所示展示了相关示例
```docker
## ✅ 好:有默认值
@@ -215,7 +245,9 @@ ARG NODE_VERSION=20
ARG NODE_VERSION
```
#### 2. 不要用 ARG 存储敏感信息
#### 2不要用 ARG 存储敏感信息
如下代码块所示展示了相关示例
```docker
## ❌ 错误:密码会被记录在镜像历史中
@@ -228,7 +260,9 @@ RUN echo "password=$DB_PASSWORD" > /app/.env
...
```
#### 3. 使用 ARG 提高构建灵活性
#### 3使用 ARG 提高构建灵活性
如下代码块所示展示了相关示例
```docker
ARG BASE_IMAGE=python:3.12-slim