Docker Compose 环境变量管理:.env 文件最佳实践

## 问题

密码、API Key 直接写在 docker-compose.yml 里既不安全(提交到 Git)又不方便(切换环境)。

## .env 文件

Docker Compose 自动读取同目录 `.env`。变量用 `${VAR_NAME}` 引用,支持默认值 `${VAR:-default}`。`.env` 不提交 Git,创建 `.env.example` 作为模板。

## 多环境配置

```bash
docker compose --env-file .env.dev up -d
docker compose --env-file .env.prod up -d
```

## 变量优先级

Shell 环境变量 > `--env-file` 指定的文件 > 当前目录 `.env`。注意 `.env` 不会覆盖 Shell 已有变量。

## 敏感信息管理

Docker secrets(Swarm 模式)或外部密钥管理(Vault)。至少不要在 docker-compose.yml 中硬编码密码。

`.env` 是 Docker Compose 项目中最重要的文件之一。

💬 暂无评论