Take this as a heads-up or a confirmation that when it comes to the host operating system - Windows, Linux, or Mac - the choice (or switch) can give a few hick-ups despite the excellent efforts Docker has put into bringing as seamless cross platform experience.
Linux
Docker’s own development started off targeting Linux and Linux reigns supreme for Docker compatibility. It offers the best performance and closest experience to production environments, making it ideal for large-scale projects.
Mac
Mac leverages its Unix base to provide a smooth Docker experience. It offers good performance and integrates well with popular developer tools.
Windows
Docker Desktop is well integrated with WSL 2 on Windows. WSL 2 is lightweight and allows Docker to run natively on windows! This gives you the closest experience of developing on Linux while still on Windows!
Alternatively, you may opt for integrating Docker with Hyper-V. Choosing Hyper-V over WSL 2 would be a good idea if you’re already familiar with Hyper-V and know that you require a greater degree of control of the virtual environment’s configuration.
Development Workflow
Beyond the operating system, the superficial experience Docker offers are similar. As you dive deeper, you’ll most likely find a few inconsistencies and exceptions. Visual Studio Code (VS Code) with Dev Containers extension simplifies Docker development workflows. Check this article for a closer look at development using this extension.
Experiment and Explore
Docker isn’t limited to one operating system nor is VS Code and its Devcontainers - streamline the process regardless of your chosen OS.