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

Express.js অ্যাপ Docker-এ

Express API ডকারাইজেশন, MongoDB-সহ compose setup ও health endpoint — বাংলায়।

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

Express-এর Dockerfile Node.js-এর মতোই, তবে এখানে স্কেল জন্য ডাবল-purpose (dev/production script) setup দেখি — আর সাথে MongoDB-এর compose।

Dockerfile

Dockerfiledockerfile
dockerfile
FROM node:20-slim

WORKDIR /app

COPY package*.json ./
RUN npm ci

COPY . .

ENV NODE_ENV=production
EXPOSE 5000

USER node

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

Express с MongoDB compose

compose.ymlyaml
yaml
services:
  api:
    build: .
    ports:
      - "5000:5000"
    environment:
      - NODE_ENV=production
      - PORT=5000
      - MONGODB_URI=mongodb://mongo:27017/blog
    depends_on:
      - mongo

  mongo:
    image: mongo:7
    volumes:
      - mongo-data:/data/db

volumes:
  mongo-data:

Health endpoint

src/index.jsjs
js
const express = require("express");
const mongoose = require("mongoose");

const app = express();
const PORT = process.env.PORT || 5000;

app.get("/health", (_req, res) => {
  const dbState = mongoose.connection.readyState === 1;
  res.status(dbState ? 200 : 503).json({
    uptime: process.uptime(),
    db: dbState ? "connected" : "disconnected",
  });
});

app.listen(PORT, () =>
  console.log("Server চলছে: http://localhost:" + PORT),
);

Build ও run

Run stepsbash
bash
docker compose up -d --build
docker compose ps
curl http://localhost:5000/health
startup order

MongoDB container start করতে maunted সময় লাগে — API-যেভাবে appear. Mongoose serverSelectionTimeoutMS বাড়িয়ে রাখুন যাতে retry করে।

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

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

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

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

mdanamolhasan1998@gmail.com