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 কমান
লোড হচ্ছে...
1. Docker কী?
Docker একটি containerization tool যা অ্যাপ্লিকেশন ও তার dependency একসাথে প্যাকেজ করে।
2. Dockerfile এর ভূমিকা কী?
Dockerfile এ অ্যাপ কীভাবে build ও run হবে তার নির্দেশনা থাকে।