After years of Docker, 90% of my usage is maybe 15 commands. Organized them by how often I reach for them:

  • Every day: ps, logs -f, exec -it, restart
  • Building: build -t, run with -p/-v/-e, --restart unless-stopped
  • Compose: up -d --build, logs -f, down
  • Cleanup: system df, container/image/volume prune
  • Debug: inspect, stats, cp

Plus some Docker Compose tips that took me too long to discover (profiles, healthchecks with depends_on conditions, .env auto-loading).