1. What is Docker Compose?

Docker Compose is a tool to define and manage multi-container Docker applications using a single YAML file (docker-compose.yml).

Benefits:


2. Docker Compose Structure

version: "3.9"

services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: mydb
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Commands:

Command Description
docker-compose up Build and start containers
docker-compose up -d Run in background
docker-compose down Stop and remove containers, networks
docker-compose build Build or rebuild services
docker-compose ps List services
docker-compose logs -f View logs continuously
docker-compose exec <service> bash Open shell inside a service container

3. Best Practices


4. Cheat Sheet: Docker & Docker Compose