Isolated development environments

Can you use docker for completely isolated development environments? For example, one container with Windows, VSCode, SQL Server, NodeJS. Another container for MacOS, GIT and iOS development. Another for MacOS, Vue, NodeJS and some other SQL db. Etc? Then create many projects within these containers?

Or am I thinking too “vm”? Does Docker work like this? I’ve tried researching it but it’s a little confusing to me. Thanks!