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 Compose
DockerIntermediate

Docker Compose

এক file-এ একাধিক service — compose.yml, up/down/logs/exec — বাংলায় সম্পূর্ণ গাইড।

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

একটি app-এর অনেকগুলো piece (API, database, redis, nginx) দরকার — প্রতিটি আলাদা docker run লিখা কঠিন। Docker Compose কয়েকটি container-কে একটি compose.yml file-এ ঘোষণা করে এক কমান্ডে চালায়।

compose.yml

compose.ymlyaml
yaml
services:
  api:
    build: .
    ports:
      - "4000:4000"
    environment:
      - MONGO_URI=mongodb://mongo:27017/blog
      - PORT=4000
    depends_on:
      - mongo
      - redis

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

  redis:
    image: redis:7-alpine

volumes:
  mongo-data:

প্রধান কমান্ড

Compose managebash
bash
docker compose up -d          # build + start (background)
docker compose up -d --build  # কোড বদলালে rebuild
docker compose ps            # service status
docker compose logs -f api   # logs follow
docker compose exec api sh   # service-এর ভেতরে
docker compose down          # stop + remove
docker compose down -v      # volumes-ও মুছে (ডেটা যাবে!)

প্রয়োজনীয় sections

Keyকাজ
services:প্রতিটি container-defined service
build:local folder থেকে image build
image:ready image ব্যবহার
ports:host:container port mapping
environment:env variables
volumes:mount ও named volumes
depends_on:startup order (shallow)
env_file:.env file থেকে load
container_name:เฉพาะ container নাম

Build vs Image

দুইভাবে declareyaml
yaml
services:
  # local Dockerfile থেকে build
  api:
    build: ./api

  # ready-made official image
  mongo:
    image: mongo:7

depends_on-এর সীমা

depends_on শুধু startup order নিশ্চিত করে — database-এর ভেতর থেকে 'ready' হওয়ার গ্যারান্টি নয়। API প্রয়োজনে connection retry করবে নাহলে database-এর healthcheck ব্যবহার করবে (পরবর্তী lessons-এ দেখব)।

Project name

Compose project-এর নাম ফোল্ডারের নাম থেকে আসে (হতে -p flag দিয়ে override)। সেই নামে network ও container prefix হয়।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরDocker NetworksপরেরEnvironment Variables ও .env
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com