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. Docker Security Best Practices
DockerAdvanced

Docker Security Best Practices

Non-root user, least privilege, secrets, image scanning, hardened base image — বাংলায়।

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

Container বিচ্ছিন্ন হলেও যত্ন না নিলে ঝুঁকি থাকে। নিচের practices-গুলো production Docker-এর অপরিহার্য অংশ।

Non-root user

Dockerfiledockerfile
dockerfile
FROM node:20-alpine

# অ্যাপ-এর জন্য user তৈরি
RUN addgroup -S appgroup && adduser -S appuser -G appgroup

WORKDIR /app
COPY . .

USER appuser

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

Least privilege

  • --privileged flag কখনোই ব্যবহার করবেন না
  • শুধু দরকারি capabilities দিন — docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE
  • Host folder নিজের নামে bind mount — প্রভাব সীমিত
  • Unused software image-এ না — attack surface কম

Secrets ম্যানেজমেন্ট

compose.ymlyaml
yaml
services:
  api:
    build: .
    # .env file (git-এ নেই) থেকে load
    env_file:
      - .env.production

না এগুলোর সাথে সম্পৃক্ত: docker run -e secret=... override-এর জন্য fine, কিন্তু value টার্মিনাল history-তে পরে যায়। Swarm secrets/file-based env সেরা।

Image scanning

Scan vulnerablebash
bash
# Docker Scout (built-in, Docker Desktop-এ আছে)
docker scout quickview my-api

# Trivy (open-source, দ্রুত)
trivy image node:20-slim

Base image hardening

Choiceবিবেচনা
node:20-slimslim — কম package, maintained
node:20-alpineছোট, তবে musl-based — কিছু native modules আলাদা
distroless (gcr.io)শুধু runtime — shell নেই, সবচেয়ে নিরাপদ
static/chainguardzero-CVE images

আরও চেক

  • Image tag-এ exact version (node:20-alpine) — latest নয়
  • docker history দিয়ে image-এর পূর্বে অস্বাভাবিক কিছু আছে কিনা দেখুন
  • Run process-এর USER নিশ্চিত — docker top <container>
  • Registry-এ private image-এ access control
  • Logs/data এনক্রিপশন — TLS (HTTPS) upstream
নিয়মিত ভাবে

Image scan + npm audit + OS update — নিয়মিত CI-তে চালান; নতুন CVE release-এর সাথে সাথে fix করতে হবে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরMulti-stage BuildsপরেরImage Size ও Build Optimization
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com