Environment Variables & .env in Compose
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 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
"${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