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. Node.js অ্যাপ Docker-এ
DockerIntermediate

Node.js অ্যাপ Docker-এ

Node.js application-এর জন্য Dockerfile, সেরা base image ও development setup — বাংলায়।

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

একটি সাধারণ Node.js REST API-কে Docker-এ চালানো শিখি — সঠিক base image, dependency caching ও স্ক্রিপ্টসহ।

Base image বাছাই

Imageব্যবহার
node:latestডেভেলপমেন্ট — সবকিছু আরও relaxed
node:20-slimproduction-এর জন্য ভারসাম্য — হালকা ও maintained
node:20-alpineসবচেয়ে ছোট — কিছু native dependency-তে সমস্যা হতে পারে

প্রোডাকশন-ready Dockerfile

Dockerfiledockerfile
dockerfile
FROM node:20-slim

WORKDIR /app

# প্রথমে dependency files — cache-কে কাজে লাগান
COPY package*.json ./
RUN npm ci --omit=dev

# তারপর app code
COPY . .

ENV NODE_ENV=production
EXPOSE 3000

# non-root user (সুরক্ষার জন্য)
USER node

CMD ["node", "src/server.js"]

npm ci কেন

npm install এর বদলে `npm ci` ব্যবহার করুন — lockfile (package-lock.json)-এর সাথে হুবহু dependency install করে, দ্রুত ও reproducible। CI/CD ও Docker-এ এটি best practice।

Build ও run

Run stepsbash
bash
docker build -t my-api .

docker run -d \
  -p 3000:3000 \
  -e DATABASE_URL=mongodb://127.0.0.1:27017/app \
  --name api \
  my-api

curl http://localhost:3000/api/health

Development mode

Hot reload সহ devbash
bash
# nodemon + bind mount + env staging
docker run -d \
  -p 3000:3000 \
  -v "${PWD}:/app" \
  -v /app/node_modules \
  -e NODE_ENV=development \
  --name api-dev \
  my-api

docker logs -f api-dev
Anonymous volume

-v /app/node_modules লেখলে folder-টি container-এর original node_modules-এ ঢাকা থাকে — host-এ node_modules না থাকলেও ঠিকঠাক চলে (Windows-এ file system পার্থক্যের জন্য দরকারি)।

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

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

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

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

mdanamolhasan1998@gmail.com