Code Reference

Docker Compose

Docker · Reference cheat sheet

Docker Compose

Docker · Reference cheat sheet


📋 Overview

Compose defines multi-service stacks in YAML: web, db, redis, networks, and volumes with one docker compose up.

🔧 Core concepts

KeyRole
servicesContainers to run
images / buildPrebuilt vs local Dockerfile
portshost:container publish
environment / env_fileConfig
volumesPersist or share data
networksService DNS names
depends_onStart order (not readiness)
CommandPurpose
docker compose up -dStart detached
docker compose downStop + remove
docker compose logs -fFollow logs
docker compose psStatus

💡 Examples

Minimal stack:

services:
  web:
    build: .
    ports:
      - "9000:9000"
    environment:
      DATABASE_URL: postgres://postgres:postgres@db:5432/app
    depends_on:
      - db
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_PASSWORD: postgres
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

Rebuild one service:

docker compose up -d --build web

⚠️ Pitfalls

  • depends_on does not wait for DB ready — use healthchecks + condition: service_healthy.
  • Host localhost inside a container is the container itself — use service names (db).
  • Old docker-compose (hyphen) CLI differs from docker compose plugin — prefer the plugin.

On this page