Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Docker Documentation25টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Containerization
  • Architecture
  • Installation
  • Images
  • Containers
  • Dockerfile
  • Volumes
  • Networks
  • Docker Compose
  • Environment Variables
  • Node.js + Docker
  • Next.js + Docker
  • Express.js + Docker
  • NestJS + Docker
  • Databases + Docker
  • Development Workflow
  • Production
  • Multi-stage Builds
  • Security
  • Optimization
  • CI/CD
  • Deployment
  • Real-world Project
  • Interview Questions
  1. Docs
  2. Docker
  3. Environment Variables ও .env
DockerIntermediate

Environment Variables ও .env

ENV, ARG, docker run -e, compose environment/env_file, .env — configuration management — বাংলায়।

15টি অংশবাংলা ভাষায়

কোডের বাইরে রাখতে হয় config — API কী, ডাটাবেস পাসওয়ার্ড, port। Environment variables দিয়ে সেটি container-এ ঢোকে, কোডে জানে না।

docker run -e

CLI দিয়ে envbash
bash
docker run -d \
  --name api \
  -e PORT=4000 \
  -e DB_URL=mongodb://mongo:27017/blog \
  -e SECRET_KEY=mysecret123 \
  my-api

Dockerfile-এ ENV

Dockerfiledockerfile
dockerfile
FROM node:20-alpine
WORKDIR /app
COPY . .
# image-এ default env
ENV NODE_ENV=production \
    PORT=3000
CMD ["node", "app.js"]

docker run -e দেওয়া value Dockerfile-এর ENV-কে override করে।

Compose-এ environment vs env_file

compose.ymlyaml
yaml
services:
  api:
    build: .
    environment:
      - NODE_ENV=production       # সরাসরি
      - PORT=4000
    env_file:
      - .env                       # file থেকে সব

.env file

.env (এর আগেই $PWD)text
text
DATABASE_URL=mongodb://mongo:27017/blog
JWT_SECRET=supersecret
REDIS_URL=redis://redis:6379

এই .env file .gitignore-এ রাখুন — secrets কখনো repository-তে commit করা উচিত নয়।

ENV vs ARG

বিষয়ENVARG
Scoperuntime-এও থাকেশুধু build-এর সময়
কার্যapp process-এ value যায়build-time config (version ইত্যাদি)
Composeenvironment:, env_file:build.args:
DockerfileENV K=VARG K=V
ARG ব্যবহারdockerfile
dockerfile
ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine

# build সময়: docker build --build-arg NODE_VERSION=22 .
Secrets কখনো image-এ না

Dockerfile-এ ENV দিয়ে secret লিখলে তা image layer-এ থেকে যায় — docker history দিয়ে দেখা যায়! Production secret-এর জন্য use Docker secrets (Swarm), env file (compose), বা cloud secret manager (AWS Secrets Manager ইত্যাদি)।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরDocker ComposeপরেরNode.js অ্যাপ Docker-এ
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com