0.7.2 给集装箱贴上标签——Docker 环境变量配置
一句话破题
容器的配置应通过环境变量注入。把“环境与密钥”从镜像中剥离,做到镜像通用、部署可配。
基础用法:--env 与 --env-file
powershell
$env:API_BASE = 'https://api.example.com'
docker run -d --name app -p 3000:3000 --env API_BASE=$env:API_BASE myapp:latest使用文件批量注入:
.env.app
API_BASE=https://api.example.com
DB_URL=postgres://user:pass@host:5432/dbpowershell
docker run -d --name app -p 3000:3000 --env-file .env.app myapp:latestCompose 中的环境变量
.env
API_BASE=https://api.example.com
DB_URL=postgres://user:pass@host:5432/dbdocker-compose.yml
yaml
version: '3.9'
services:
app:
image: myapp:latest
ports:
- "3000:3000"
environment:
- API_BASE=${API_BASE}
- DB_URL=${DB_URL}觉知:安全与可维护
- 不把密钥写入镜像或代码;统一从环境变量或密钥服务注入。
- 本地开发用
.env.local,团队共享用.env.development(不含密钥)。 - 生产通过密钥管理服务注入;
.env.production不含明文密钥。
AI 协作指南
- 核心意图:让 AI 输出“环境变量规范与注入方案”。
- 需求定义公式:
- “为应用设计环境变量注入方案,包含
--env-file与 Compose 的.env,并给出 PowerShell 命令。”
- “为应用设计环境变量注入方案,包含
