mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 20:04:36 +00:00
Fix and improve
This commit is contained in:
@@ -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 编写指南
|
||||
|
||||
Reference in New Issue
Block a user