Why do I have to run Docker to run the server locally? This always raises a red "over-engineered" flag for me. Docker is for deployment, not development.
Our giants came before us, swallowed the enormous complexity and presented us with simpler abstraction to build on.
When you move your work across environmental abstraction, these beneficial abstracts tend to show their cracks.
By keeping the production and the development environments similar, my team avoids deployment surprises and disasters. More importantly, we avoid the escalation calls that take you away from the family dinner table.
If you are gonna delpoy in a docker container, maybe develop in the docker container.