⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

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/db
powershell
docker run -d --name app -p 3000:3000 --env-file .env.app myapp:latest

Compose 中的环境变量

.env

API_BASE=https://api.example.com
DB_URL=postgres://user:pass@host:5432/db

docker-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 命令。”