← Back to docker-basics

Docker Basics: Docker Compose

Manage multi-container applications with Docker Compose

What is Docker Compose?

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

Basic docker-compose.yml

version: '3.8'

services:
  web:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - db
    environment:
      - DATABASE_URL=postgres://user:pass@db:5432/app

  db:
    image: postgres:16
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=app

volumes:
  postgres_data:

Common Commands

# Start services
docker compose up -d

# View logs
docker compose logs -f

# Stop services
docker compose down

# Rebuild and restart
docker compose up -d --build

Summary

With Docker Compose, you can define your entire application stack in a single file.