Не удалось запустить виртуальную машину MobyLinuxVM, потому что один из компонентов Hyper-V не работает

У меня возникли проблемы, когда я установил Docker с Window Server.
Список окружения:

1 Windows 10 (физическая машина)
2. Проигрыватель рабочей станции VMware® (12 ~ выше) URL
3.Windows Server 2016 на виртуальной машине
4.Docker CE для Windows (стабильный) URL

изображение проблемы и контент
enter image description here

Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start.

Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running.

'MobyLinuxVM' failed to start. (Virtual machine ID BBD755F7-05B6-4933-B1E0-F8ACA3D2467B)     

The Virtual Machine Management Service failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running (Virtual machine ID BBD755F7-05B6-4933-B1E0-F8ACA3D2467B).
at Start-MobyLinuxVM, <No file>: line 315
at <ScriptBlock>, <No file>: line 410
   at Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 256
   at Docker.Backend.ContainerEngine.Linux.Start(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 130
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 145

Как я могу исправить эту проблему, спасибо.

Ответ 1

Привет всем, я нашел ответ для решения этой проблемы, надеюсь, этот контент может помочь кому-то, кто имеет такую же проблему.
1. настроить виртуальную машину в настройках виртуальной машины (как показано на рисунке) enter image description here

enter image description here

  1. настроить Hyper-V в Windows Server 2016 (как показано на следующем рисунке) enter image description here

Mandarin ссылка URL

Ответ 2

В случае, если это поможет кому-то еще получить эту проблему, я обнаружил, что запуск этих команд из командной строки администратора исправил мою проблему Hyper-V:

net stop vmms 
net start vmms

Затем я смог запустить контейнер для докеров без проблем.

Ответ 3

Вот решение, если вы получаете эту ошибку на виртуальной машине Azure Windows 10, где вы установили Docker:

  • Убедитесь, что функции Windows Hyper-V включены с помощью командлета PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -Verbose

  • Убедитесь, что функция контейнеров Windows включена с помощью командлета PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -Verbose

  • Убедитесь, что для Hypervisor установлен автоматический запуск в базе данных конфигурации загрузки (BCD), запустив в командной строке с повышенными правами команду:

bcdedit/set hypervisorlaunchtype Auto

После выполнения всего вышеперечисленного и перезапуска виртуальной машины Azure Docker должен запускаться в обычном режиме.

В дополнение к ответу выше, командлет PowerShell для установки параметра виртуальной машины:

Set-VMProcessor -VMName <Enter-VM-Name> -ExposeVirtualizationExtensions $true -Verbose

Все еще есть проблема и еще не перезагрузился?! - просто перезапустите службы Windows, выполнив следующее:

net stop vmms 
net start vmms

Ответ 4

  1. Откройте сеанс PowerShell или CMD с правами администратора.

  2. Введите следующую команду:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    

Ответ 5

Я пошел в настройки докеров и в разделе " General ", чтобы установить other version (внизу страницы как ссылку). Я изначально установил stable, измененный для beta.

Это работало без каких-либо проблем.

Ответ 6

Это проблема вложенной виртуализации, чтобы исправить ее на работающей VMWare 6.5 и гостевой Windows 10, отключите виртуальную машину и выберите опцию "Предоставить аппаратную виртуализацию гостевой ОС".

enter image description here

Ответ 7

Эти шаги помогли мне в Windows 10 Pro v1809. Сначала закройте окно ошибок Docker. Тогда

Пуск> Приложение Windows Security> Приложение & управление браузером> Защита от эксплойтов> Настройки защиты от эксплойтов> Настройки программы> vmcompute.exe> Правка> Защита потока кода (CFG)>

Uncheck "Override system settings" > Apply

В повышенном режиме (т.е. запуск от имени администратора) cmd запускает службу с

net start vmcompute

Затем снова запустите Docker Desktop, на этот раз следует запустить

Ответ 8

На самом деле причина в том, что вы не включили ExposeVirtualizationExtensions на хосте.
Выключите вложенную ВМ. Запустите команду PS на хосте:

Set-VMProcessor -VMName "NESTED VM NAME" -ExposeVirtualizationExtensions $true

А затем снова запустите вложенную ВМ (с докером).

Ответ 9

Включение функции Hyper-V недостаточно в виртуальной машине Azure. У вас должна быть включена "Вложенная виртуализация", поэтому в соответствии с документацией вы должны выбрать виртуальную машину размера v3:

все виртуальные машины v3 поддерживают вложенную виртуализацию

После изменения размера виртуальная машина будет перезапущена, и DockerVM в Hyper-V запустится.