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. Production Deployment
DockerAdvanced

Production Deployment

VPS-এ compose deploy, reverse proxy, TLS, update flow — বাংলায়।

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

Docker-এ অ্যাপ deploy করার জনপ্রিয় উপায় — একটি VPS (DigitalOcean, Hetzner, AWS EC2, বা Bangladesh-এর hosting) সেটআপ করে সেখানে compose-দিয়ে চালানো।

Server সেটআপ

Remote server (SSH)bash
bash
# server-এ Docker install
curl -fsSL https://get.docker.com | sh

# systemd-এ enable
sudo systemctl enable --now docker

Compose file uptime

compose.prod.yml (server-এ)yaml
yaml
services:
  api:
    image: ghcr.io/myorg/api:1.4.0   # registry থেকে pull
    restart: unless-stopped
    env_file:
      - .env.production
    depends_on:
      - mongo
    ports:
      - "3000:3000"

  mongo:
    image: mongo:7
    restart: unless-stopped
    volumes:
      - mongo-data:/data/db

  nginx:
    image: nginx:1.27-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - api

volumes:
  mongo-data:

Reverse proxy (nginx.conf)

nginx.confnginx
nginx
server {
  listen 80;
  server_name mydomain.com;

  location / {
    proxy_pass http://api:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Update flow

Zero-downtime deploybash
bash
# server-এ
git pull                     # config ঠিক রাখতে
docker compose -f compose.prod.yml pull
docker compose -f compose.prod.yml up -d
docker compose -f compose.prod.yml ps

TLS (Let's Encrypt)

certbot + nginxbash
bash
# domain pointed করার পর
sudo apt install certbot
sudo certbot --nginx -d mydomain.com

# renew auto
sudo certbot renew --dry-run
আলাদা hostে DB?

বড় production-এ database আলাদা managed service (Atlas, RDS) এ রাখা ভালো — তবে ছোট project-এ container DB-ই ঠিক। নিয়মিত mongodump/pg_dump ব্যাকআপ নিতে ভুলবেন না।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরCI/CD Pipeline-এ DockerপরেরReal-world Project — Full Stack Deploy
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com