Docker Compose

1/8/2025

Docker Compose

Docker Compose is a tool for defining and running multi-container Docker applications.

Basic docker-compose.yml

yaml
version: '3.8'

services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
    volumes:
      - .:/app
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

Commands

bash
# Start services
docker-compose up

# Start in detached mode
docker-compose up -d

# Stop services
docker-compose down

# View logs
docker-compose logs -f

# Rebuild images
docker-compose up --build

Networks

yaml
services:
  frontend:
    networks:
      - frontend
  backend:
    networks:
      - frontend
      - backend

networks:
  frontend:
  backend: