Funny you should suggest that! I'm currently using an M1 and working on projects that (for the moment) have to use Python 3.7, so I'm forced to develop on Docker containers (that's how I ended up writing https://therightstuff.medium.com/how-to-attach-visual-studio-code-to-a-running-docker-container-3ff3f99d3856 and https://therightstuff.medium.com/avoiding-visual-studio-code-extension-reinstalls-on-running-docker-containers-cf9f79871ba7).
It's made development possible, but such a hassle - primarily because even with half the resources of a super-powered machine, running in a container makes everything slooooooooow. The idea of setting up a container for each project is a complete turn-off for me.
In contrast, I do a lot of work with Javascript and NPM. I can count the number of times I've been frustrated by that combination over the past decade on one hand. It's exactly the same thing as a virtual environment but without having to activate / deactivate every time. And in most cases dependency installation works without putting up a fight. And npm uses package.json, so you don't have to guess whether you need to install from a requirements.txt or a setup.py. And there aren't fifteen different types of test configuration files with inconsistent declaration styles. And so on...