Dockerizing Node.js Application

Dockerizing Node.js Application

Docker ব্যবহার করে কীভাবে একটি Node.js অ্যাপ্লিকেশনকে container-এর মধ্যে রানযোগ্য, portable এবং production-ready করা যায়—এই টিউটোরিয়ালে ধাপে ধাপে শিখুন।

📦 Docker কী?

Docker হলো একটি containerization platform যা দিয়ে অ্যাপ্লিকেশন ও তার dependency একসাথে প্যাকেজ করে যেকোনো পরিবেশে একইভাবে রান করা যায়। “It works on my machine” সমস্যা সমাধানে Docker অত্যন্ত কার্যকর।

🚀 Portable

একবার build করলে যেকোনো server বা cloud-এ একইভাবে রান করবে।

⚙️ Consistent

Development ও Production environment এক থাকে।

📈 Scalable

Kubernetes বা Docker Swarm দিয়ে সহজে scale করা যায়।

📂 Node.js Project Structure

node-app/
│── Dockerfile
│── package.json
│── package-lock.json
│── server.js
      

🧩 Sample Node.js App (server.js)

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello from Dockerized Node.js App 🚀');
});

app.listen(3000, () => {
  console.log('Server running on port 3000');
});
      

🐳 Dockerfile তৈরি

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 3000

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

📝 Dockerfile ব্যাখ্যা

  • FROM – Base Node.js image
  • WORKDIR – Container-এর কাজের directory
  • COPY – প্রয়োজনীয় ফাইল কপি
  • RUN – Dependency install
  • EXPOSE – Application port
  • CMD – App রান কমান্ড

▶️ Docker Image Build ও Run

# Image build
docker build -t node-docker-app .

# Container run
docker run -p 3000:3000 node-docker-app
      

✅ Best Practices

  • Lightweight image (alpine) ব্যবহার করুন
  • .dockerignore ফাইল ব্যবহার করুন
  • Production-এ environment variable ব্যবহার করুন
  • Multi-stage build দিয়ে image size কমান
👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. Docker কী?

Docker একটি containerization tool যা অ্যাপ্লিকেশন ও তার dependency একসাথে প্যাকেজ করে।

2. Dockerfile এর ভূমিকা কী?

Dockerfile এ অ্যাপ কীভাবে build ও run হবে তার নির্দেশনা থাকে।