Cant start container - required feature not installed

I’m having trouble starting docker. Every time I try to start it, I get this message:

Error invoking remote method ‘docker-start-container’: Error: (HTTP code 500) server error - hcsshim::CreateComputeSystem ce90661a3dbd552b8226491dec815d8ec75f6997a0adfbceee8a1b97a49af9de: The virtual machine could not be started because a required feature is not installed.

All my research indicates this is a hyper-v issue. The problem is, its installed/running (I think). In the BIOS, both these options are enabled:

  • Intel Virtualization Tech
  • Intel VT-D Tech

And in windows features, all of these two options are installed (along with all the sub-options):

  • Containers
  • Hyper-V

Is there something I’m missing here?

A little extra information:

  • I also run virtualbox on this desktop.
  • I am running docker on the desktop - not in the virtualbox image.
  • I have had docker working before on this desktop (6+ months ago)
  • There was an issue which prevented me running both virtualbox and docker with the same windows and/or bios settings. But for the life of me I forget what they where.

There might be some conflict between VirtualBox and Hyper-V. There can only be one virtualization platform on Windows, which takes over the virtualization process from the CPU. Docker relies on Hyper-V, so my guess is that Hyper-V itself might be having issues.

How do I stop virtualbox taking over the virtualization? I dont need to un-install it do I?

Virtualbox is a Type 2 hypervisior and as such can not take over virtualization. It will always draw the short straw if Hyper-V (or any of its sub-features) is enabled. Virtualbox requires the “Windows Hypervisor Platform” feature enabled to work at all and indicate it with the infamous “green turtle” icon on the virtual machine console (if you have no idea what it means, please google it - whenever it is shown Virtualbox will run unbearable slow).

Even if the Hyper-V feature is not enabled, enabling the “virtual machine platform” required by WSL will result in VirtualBox being run in Hyper-V compatibility mode.

Bear with me if the Windows features should have slightly different names on your host, as I am translating the names from my German Windows into English.

Are you trying to run Windows containers?

Yes, the docker containers I’m trying to run are windows.

It really looks like hyper-v is running though. Both the windows features and services indicate its enabled and running.

WindowsFeatures

The services screenshot:

Ok, its all resolved now.

I decided to test hyper-V, by creating a virtual machine in hyper-V manager. This seemed to go well, until I tried to start the VM, where I was told that hypervisor was not running.

A bit more searching found me this page: https://superuser.com/questions/858259/hyper-v-reports-that-the-hypervisor-is-not-running-how-to-start-the-hypervisor

Running bcdedit in a command prompt revealed that hypervisorlaunchtype was off.
I turned it on by using the command:

bcdedit /set hypervisorlaunchtype auto

After a restart, docker started up just fine.

Thanks all who tried to help

1 Like