If the host isn’t running Linux then you do need a VM. That having been said, I rarely need to access it directly; on either the Docker for Mac or Docker Machine setups, I can run
docker commands from an ordinary Terminal window and they work fine, and I don’t usually care what’s in between.
The other approach is, I don’t think there’s any technical reason you couldn’t just install Ubuntu in a VM and install Docker on that. I think the Docker Machine Virtualbox setup is slightly customized, but mostly it has a fixed network setup and shares parts of the host filesystem with the VM.