Docker Installation Architecture
You can install Docker Engine on top of Linux, Mac and Windows operating systems.
This figure shows a native Linux OS Docker deployment. This is a Linux system with several Docker applications installed. The Docker daemon manages the Docker containers:
This example shows that Docker can be deployed as an application on older Windows or Mac systems via the Docker Toolbox. Toolbox uses docker-machine to provision a VirtualBox VM, which runs the boot2docker Linux distribution, and manages containers via the Docker daemon:
This next example shows the Docker daemon installed directly on a supported Mac or Windows OS, creating containers on top of a HyperKit VM (Mac) or Hyper-V VM (Windows):
Docker provides an efficient mechanism to build, ship, and run any app on any OS on any platform, i.e. physical host, virtual host or in the cloud:
Docker creates lightweight and self-contained run-time environments, making it seamless for developers to move projects from the development stage to production.
It's possible to run Containers inside a Virtual Machine. The above figure shows a Docker engine/daemon with two containers, running in one of the three VMs on a Virtualization host.