the way I would setup docker now, is a bit different then a few years ago. I use traefik to have local domains, I would not include databases on the docker compose, but set them up as a global thing so that I have many projects re using them and all having a local domain.
Before I would just put all of it on the docker compose file, and then run one project at a time.
This setup allows to many projects running on the same machine, even talking to each other :)
I'm not using Docker locally yet, no, but it's likely that I will :D
commit b26fcc5