The primary difference between Docker and traditional Virtual Machines is the requirement for a full guest operating system. Traditional Virtual Machines require not only the application and the supporting libraries and binary files, but they also require a full guest operating system in which these applications run.

Docker, on the other hand, only requires the application and its support libraries and binary files. As their website states, Docker “runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient.?

Read more on about:virtualization