5

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
  • 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
    Commented Nov 10, 2016 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. Commented Nov 10, 2016 at 16:55

4 Answers 4

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.

2
  • Not sure.... Docker for Windows needs Hyper-V AND Virtualization enabled... (Virtualization != VirtualBox) Commented Nov 10, 2016 at 17:26
  • @guilhermecgs - "Virtualization" in that context is VT-X. Docket requires Hyper-V and (Hardware virtualization) i.e. VT-x
    – Ramhound
    Commented Nov 10, 2016 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.

-1

This error is due to something related to the AMD processor.

Uncheck ACTIVATE VT-x/AMD nested in the docker_windows - Settings - System - Processor tab.

1
  • Seems counterintuitive to disable nested virtualization in order to use hardware virtualization within a VM.
    – Ramhound
    Commented Apr 19, 2020 at 23:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .