No,
The biggest difference between Docker and VM is that one is operating system level virtualization and the other is hardware level virtualization. Therefore, Docker itself can run on a VM. You can't just install a virtual machine on Windows and then run Docker, just say that Docker supports Windows. In order to allow docker to run on VMs, docker has specially developed Docker Toolbox and docker-machine. The core of them is to run docker through virtual machines, which only simplifies the intermediate deployment and configuration process for users. For this Beta release, more optimization work is required. The author also submitted a trial application, and then entered the long waiting-list, but I guess that this version improvement is mainly reflected in the following aspects:
By using a lightweight Linux distribution , making VMs smaller and faster to deploy and install. Alpine linux is a very lightweight version, and docker also plans to use alpine as the default base image.
Native toolset support. In the past, when we ran under non-linux, we needed to use tools like MINGW to simulate the Shell. The exit of Beta this time has definitely strengthened this aspect and supported the original ecological order.
Better network support. Docker's network system may be integrated into the native network systems of Mac and Windows to facilitate user configuration.
Better adaptation to the system sandbox. OS X and Windows themselves both support sandboxing and may be strengthened in this regard.
So why are the original Windows and Mac so difficult to support? This must start from the basic principles of docker:
CGroup technology, which is used to control CPU, memory, and network If resources are limited, this requires kernel support, and currently only Linux support is better.
lNamespace technology is used for user resource isolation. Note that isolation here is to make a process a sandbox with a completely independent PID, network stack, host name, etc., and this Currently, the technology is only supported by Linux.