If this sounds like your week
"Bind for 0.0.0.0:80 failed: port is already allocated."
Docker won't start your container because port 80 on the host is already taken. The catch: it's rarely another container. It's usually a process on Windows itself — a leftover dev server, a service that auto-started, or a previous `docker-proxy` that never released the binding. `docker ps` shows you nothing, because the conflict isn't in Docker.
Where tooling usually breaks
You restart Docker. You prune. The port is still gone.
So you bounce Docker Desktop, run `docker container prune`, maybe restart the machine — the heavy-handed fixes that cost you ten minutes and your train of thought. None of them tell you the one thing you need: which process on the host is sitting on port 80 right now, and whether it's safe to end.