首页/云/Docker 容器速查/docker run 环境变量 -e 与 --env-file
本包目录(366 条)
基础命令50 条
镜像与构建107 条网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

docker run 环境变量 -e 与 --env-file

用 -e 单个传入或 --env-file 批量注入环境变量;只写变量名时取宿主当前 shell 的同名值,是 12-factor 配置的常用做法。

Docker 容器速查云更新于 2026-10-12
用途向容器进程注入环境变量
语法-e KEY=VAL 可多次 / --env-file FILE
文件格式每行 KEY=VAL,不要写 export

示例

示例
docker run -d -e TZ=Asia/Shanghai -e APP_ENV=prod app/api:v1.2
docker run --rm --env-file ./app.env alpine:3.20 env | sort

app.env 示例

app.env 示例
TZ=Asia/Shanghai
APP_ENV=staging
LOG_LEVEL=info
密码类变量用 -e 传入会出现在 docker inspect 与 /proc 环境里;生产更稳妥的方式是挂载文件或使用 secret 机制。

易错点

  • env 文件不要加引号与多余空格,KEY 中的空格会成为变量名的一部分
  • 只写 KEY 不写值时不会清空,而是从宿主环境取值;宿主没有该变量则等于没传

数据来源与参考

  • Docker 官方 CLI 参考:docker run --env / --env-file(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌