Fix and improve

This commit is contained in:
Baohua Yang
2026-02-12 16:51:50 -08:00
parent bae82e993a
commit 0835f8467a
100 changed files with 280 additions and 622 deletions

View File

@@ -2,8 +2,6 @@
### 基本语法
具体内容如下
```docker
## 格式一:单个变量
@@ -20,8 +18,6 @@ ENV <key1>=<value1> <key2>=<value2> ...
#### 设置单个变量
具体内容如下
```docker
ENV NODE_VERSION 20.10.0
ENV APP_ENV production
@@ -29,8 +25,6 @@ ENV APP_ENV production
#### 设置多个变量
具体内容如下
```docker
ENV NODE_VERSION=20.10.0 \
APP_ENV=production \
@@ -45,8 +39,6 @@ ENV NODE_VERSION=20.10.0 \
#### 1. 后续指令中使用
具体内容如下
```docker
ENV NODE_VERSION=20.10.0
@@ -67,8 +59,6 @@ COPY . $APP_HOME
#### 2. 容器运行时使用
具体内容如下
```docker
ENV DATABASE_URL=postgres://localhost/mydb
```
@@ -149,8 +139,6 @@ DATABASE_URL=postgres://localhost/mydb
#### 组合使用
具体内容如下
```docker
## ARG 接收构建时参数
@@ -177,8 +165,6 @@ $ docker build --build-arg NODE_VERSION=18 -t myapp .
#### 1. 统一管理版本号
具体内容如下
```docker
## ✅ 好:版本集中管理
@@ -195,8 +181,6 @@ RUN apt-get install nginx=1.25.0
#### 2. 不要存储敏感信息
具体内容如下
```docker
## ❌ 错误:密码写入镜像
@@ -206,14 +190,11 @@ ENV DB_PASSWORD=secret123
## docker run -e DB_PASSWORD=xxx myimage
具体内容如下:
...
```
#### 3. 为应用提供合理默认值
具体内容如下
```docker
ENV APP_ENV=production \
APP_PORT=8080 \
@@ -222,8 +203,6 @@ ENV APP_ENV=production \
#### 4. 使用有意义的变量名
具体内容如下
```docker
## ✅ 好:清晰的命名
@@ -265,8 +244,6 @@ $ docker exec mycontainer env
#### Q: 多行 ENV 还是多个 ENV
具体内容如下
```docker
## ✅ 推荐:减少层数
@@ -295,6 +272,6 @@ ENV VAR3=value3
### 延伸阅读
- [ARG 构建参数](arg.md)构建时变量
- [Compose 环境变量](../../compose/10.5_compose_file.md)Compose 中的环境变量
- [最佳实践](../../16_appendix/16.1_best_practices.md)Dockerfile 编写指南
- [ARG 构建参数](7.7_arg.md)构建时变量
- [Compose 环境变量](../10_compose/10.5_compose_file.md)Compose 中的环境变量
- [最佳实践](../16_appendix/16.1_best_practices.md)Dockerfile 编写指南