Important to note that docker-machine is different to docker engine. Docker-machine is a way of managing hosts to run the docker engine.
Normally when people say "docker" they normally mean the docker engine. Keeping the terminology consistent will help in understanding the documentation and in avoiding confusion. Docker doesn't create VMs, but docker-machine can.
Now, when you use docker-machine to talk to a hypervisor or IaaS (eg AWS) infrastructure, it will create a VM on that Hypervisor. The base OS will depend on the target platform and options. You can see the options here: https://docs.docker.com/machine/drivers/os-base/. After that docker-machine installs the docker runtime, so it can now be used to run containers.
The resulting image is a normal VM for the platform you target.