🔐
Docker Compose

Environment Variables & .env in Compose

Configuration Management
💡 .env, FILE, EK, "SETTINGS, DRAWER" jaisa, hai — SAARE, SECRETS, aur, CONFIG, VALUES, EK, hi, JAGAH, RAKHE, jaate, HAIN, aur, compose, FILE, INKO, JAROORAT, PADNE, PAR, "DRAWER, se, NIKAL" leti, hai, bina, HARDCODE, kiye.

Docker, Compose, AUTOMATICALLY, USI, DIRECTORY, mein, MAUJOOD, ".env" FILE, ko, PADH, leta, hai, aur, USKI, VARIABLES, ko, compose, FILE, ke, ANDAR, "${VARIABLE_NAME}" SYNTAX, se, USE, kiya, ja, sakta, hai.

Har, service, ke, ANDAR, "environment" key, se, SPECIFIC, environment, variables, PASS, ki, ja, sakti, HAIN, ya, "env_file" key, se, EK, POORI, ALAG, FILE, hi, REFERENCE, ki, ja, sakti, hai.

# .env file (root directory mein)
DB_PASSWORD=supersecret
API_PORT=3000

# docker-compose.yml
services:
  api:
    build: .
    ports:
      - "${API_PORT}:3000"
    environment:
      - DATABASE_PASSWORD=${DB_PASSWORD}
    env_file:
      - .env.production
🔐
.env, FILE, EK, "SETTINGS, DRAWER" jaisa, hai — SAARE, SECRETS, aur, CONFIG, VALUES, EK, hi, JAGAH, RAKHE, jaate, HAIN, aur, compose, FILE, INKO, JAROORAT, PADNE, PAR, "DRAWER, se, NIKAL" leti, hai, bina, HARDCODE, kiye.
1 / 2
⚡ झट से Recap
  • .env file automatically Compose dwara padhi jaati hai, ${VAR} syntax se use hoti hai
  • environment key se direct values, env_file key se poori file reference hoti hai
  • .env ko .gitignore mein rakhna zaroori hai, secrets leak na hon
इस page में (2 subtopics)

"${VAR:-default}" SYNTAX, se, EK, DEFAULT, VALUE, di, ja, sakti, hai, agar, VARIABLE, SET, na, ho — jaise, "${PORT:-3000}" agar, PORT, env, var, MISSING, hai, TO, 3000, use, hoga.

services:
  api:
    ports:
      - "${PORT:-3000}:3000"

"docker compose --env-file .env.staging up" se, DIFFERENT, ENVIRONMENTS, (staging, production) ke, liye, ALAG-ALAG, .env, files, use, ki, ja, sakti, HAIN, bina, DEFAULT, ".env" FILE, ko, CHANGE, kiye.

docker compose --env-file .env.staging up -d