Docker on Windows 2012 R2 Hyper-v
This is similar to sound feedback and point a mirror into a mirror, the more technical description is Nested virtualization. Docker is great for running my public clouds and even on your desktop as a standalone. But docker is that good at running Windows Operating Systems. So, you still need Virtualization such as VirtualBox, VMware or Hyper-v. So in a local lab environment its a bit tricky to get Docker up and running efficiently. The benefits of Docker, is that you can build Infrastructure as Code very quickly and via command lines and which is easily transferable to Public Clouds like GCP, Azure and AWS. I still want to test on my local lab as there are costs for Cloud usage. Windows will also have Docker on Windows Server soon. Isolation can be at the OS level, Application or Process level.
- Docker Toolbox which includes Docker Machine that will spin up a boot2docker image inside of VirtualBox. These are Linux containers running with a Linux kernel inside the VM. This was originally the only option for Windows users.
- Docker for Windows using Hyper-V to run the Moby VM, based on LinuxKit, to run Linux images. LinuxKit provides a container based Linux OS, and there’s some integration to make it appear less like a VM to the end user, e.g. you can use 127.0.0.1 instead of the IP of the VirutalBox VM. If you have Hyper-V available and want to run Linux containers on Windows, this is the preferred option.
- Windows Server Containers which run Windows binaries on the same host OS, similar to how Linux containers on a Linux OS do not need a VM.
- Hyper-V Containers which run Windows binaries inside of a separate VM for additional isolation
- Hyper-V Docker Configuration – https://docs.docker.com/v17.09/machine/drivers/hyper-v/
- Learn Docker – https://www.docker.com/play-with-docker
- Isolation Modes – https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container