4

My ultimate goal is to run docker for windows inside a Windows 10 Pro (evaluation).

To do that,

  1. Downloaded Windows 10 Pro evaluation image from Microsft website,
  2. Mounted it with virtual box
  3. Installed docker for windows

The installation failed, since it required "virtualization" to be enabled, as described in https://github.com/docker/for-win/issues/74

I have already configured "hardware virtualization" settings for the VM, as you can see below... But still it is not enabled in guest windows OS

Any clues on how to enable it?

enter image description here

  • 2
    "But still it is not enabled in guest windows OS " - This is because your attempting to run Docker within a Virtual Box VM. You will have to use Hyper-V or VMware or some other virtualization software if you want to run Docker from within a VM. Virtual Box can't do nested virtualization. – Ramhound Nov 10 '16 at 16:47
  • 1
    Note that your image is showing virtual box's settings for the Host, not the guests. its saying "virtuabox will use VT-x/AMD-V exposed by the host". it is NOT stating that it will expose those capabilities to the guests. – Frank Thomas Nov 10 '16 at 16:55
3

The problem is with VirtualBox. It doesn't support nested virtualization (yet), and Docker for windows use Hyper-V. However, if you create a VM running Widows 10 anniversary edition inside VMware player. Docker for Windows will work. During the installation it will activate Hyper-V and after a reboot, everything will work.

enter image description here

1

You could do it using Docker for Windows Beta. https://beta.docker.com/

By default it uses Hyper-V instead of Virtualbox for its hypervisor.

  • Not sure.... Docker for Windows needs Hyper-V AND Virtualization enabled... (Virtualization != VirtualBox) – guilhermecgs Nov 10 '16 at 17:26
  • @guilhermecgs - "Virtualization" in that context is VT-X. Docket requires Hyper-V and (Hardware virtualization) i.e. VT-x – Ramhound Nov 10 '16 at 17:38
0

Virtualbox does not expose the Intel VT extensions to the virtual machines. Thus, you cannot use these extensions in a Virtualbox or a hypervisor running in a Windows in VirtualBox.

  • When you activate the VT extensions in the host Virtualbox, that hypervisor uses these extensions to support the virtualization
  • However, although you have activated the extension, the guest OS running in Virtualbox cannot use these extensions.

Nowadays, Docker for Windows uses Hyper-V (the hypervisor provided by Microsoft). Hyper-V supports "nested-virtualization", i.e. You can run hyper-V in a guest OS accessing the Intel VT extensions exposed by the host Hyper-V.

If you are not interested on using Hyper-V on the guest and the host at the same time, you can consider VMware Workstation. This hypervisor [supports Intel VT emulation][3]. You can run an operating system that use these extensions in a virtual machine in VMware.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.