mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-25 11:15:39 +00:00
Add blank lines before headers
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
### 7.6.1 基本语法
|
||||
|
||||
```docker
|
||||
|
||||
## 格式一:单个变量
|
||||
|
||||
ENV <key> <value>
|
||||
@@ -101,6 +102,7 @@ const dbUrl = process.env.DATABASE_URL;
|
||||
使用 `-e` 或 `--env` 覆盖 Dockerfile 中定义的环境变量:
|
||||
|
||||
```bash
|
||||
|
||||
## 覆盖单个变量
|
||||
|
||||
$ docker run -e APP_ENV=development myimage
|
||||
@@ -117,6 +119,7 @@ $ docker run --env-file .env myimage
|
||||
#### .env 文件格式
|
||||
|
||||
```bash
|
||||
|
||||
## .env
|
||||
|
||||
APP_ENV=development
|
||||
@@ -138,6 +141,7 @@ DATABASE_URL=postgres://localhost/mydb
|
||||
#### 组合使用
|
||||
|
||||
```docker
|
||||
|
||||
## ARG 接收构建时参数
|
||||
|
||||
ARG NODE_VERSION=20
|
||||
@@ -152,6 +156,7 @@ RUN curl -fsSL https://nodejs.org/dist/v${NODE_VERSION}/...
|
||||
```
|
||||
|
||||
```bash
|
||||
|
||||
## 构建时指定版本
|
||||
|
||||
$ docker build --build-arg NODE_VERSION=18 -t myapp .
|
||||
@@ -164,6 +169,7 @@ $ docker build --build-arg NODE_VERSION=18 -t myapp .
|
||||
#### 1. 统一管理版本号
|
||||
|
||||
```docker
|
||||
|
||||
## ✅ 好:版本集中管理
|
||||
|
||||
ENV NGINX_VERSION=1.25.0 \
|
||||
@@ -180,6 +186,7 @@ RUN apt-get install nginx=1.25.0
|
||||
#### 2. 不要存储敏感信息
|
||||
|
||||
```docker
|
||||
|
||||
## ❌ 错误:密码写入镜像
|
||||
|
||||
ENV DB_PASSWORD=secret123
|
||||
@@ -202,6 +209,7 @@ ENV APP_ENV=production \
|
||||
#### 4. 使用有意义的变量名
|
||||
|
||||
```docker
|
||||
|
||||
## ✅ 好:清晰的命名
|
||||
|
||||
ENV REDIS_HOST=localhost \
|
||||
@@ -222,6 +230,7 @@ ENV HOST=localhost \
|
||||
exec 格式不会自动展开环境变量:
|
||||
|
||||
```docker
|
||||
|
||||
## ❌ 不会展开 $PORT
|
||||
|
||||
CMD ["python", "app.py", "--port", "$PORT"]
|
||||
@@ -241,6 +250,7 @@ $ docker exec mycontainer env
|
||||
#### Q:多行 ENV 还是多个 ENV
|
||||
|
||||
```docker
|
||||
|
||||
## ✅ 推荐:减少层数
|
||||
|
||||
ENV VAR1=value1 \
|
||||
|
||||
Reference in New Issue
Block a user