简体   繁体   English

Windows 服务器 2019 Docker docker.exe:来自守护进程的错误响应:无法启动服务实用程序 VM(createreadwrite):

[英]Windows Server 2019 Docker docker.exe: Error response from daemon: failed to start service utility VM (createreadwrite):

I created Windows Server 2019 VM in VMWare and I am trying to run there docker container (Ubuntu) but I get this error我在 VMWare 中创建了 Windows Server 2019 VM,我试图在那里运行 docker 容器(Ubuntu),但我收到此错误

docker.exe: Error response from daemon: failed to start service utility VM (createreadwrite) docker.exe:来自守护程序的错误响应:无法启动服务实用程序 VM (createreadwrite)

What I already did:我已经做了什么:

  1. I installed Hyper-V and also I enabled Containers in Windows features.我安装了 Hyper-V,还启用了 Windows 功能中的容器。
  2. Enable Nested Virtualization if you're running Docker Containers using Linux Virtual Machine running on Hyper-V Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true如果您正在运行 Docker 容器,请启用嵌套虚拟化,使用 Linux 在 Hyper-V 上运行的虚拟机Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true (machine exists, it's a Linux VM) Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true (机器存在,它是 Linux VM)
  3. Enable LinuxKit system [Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")启用 LinuxKit 系统[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
  4. Restart Docker重启Docker

Output from docker version Output 从 docker 版本

Client: Docker Engine - Enterprise
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        2ee0c57608
 Built:             11/13/2019 08:00:16
 OS/Arch:           windows/amd64
 Experimental:      false

I already followed those threads ( Linux Docker EE Containers on Windows Server 2016 , Cannot start Hyper-V container ) but it doesn't solved my problem.我已经关注了这些线程( Linux Docker EE Containers on Windows Server 2016无法启动 Hyper-V 容器),但它没有解决我的问题。

I found the main issue.我发现了主要问题。 VMWare Workstation does not support nested virtualization for AMD Ryzen. VMWare Workstation 不支持 AMD Ryzen 的嵌套虚拟化。 When I installed Docker on my Win10 everything is OK.当我在我的 Win10 上安装 Docker 时,一切正常。

VMWare Workstation does not support nested virtualization for AMD Ryzen VMWare Workstation 不支持 AMD Ryzen 的嵌套虚拟化

Actually.... Billy Smolen ( github.com/wbsmolen ) from Microsoft mentions in MicrosoftDocs/Virtualization-Documentation issue 1276 :实际上.... 来自 Microsoft 的Billy Smolen ( github.com/wbsmolen ) 在MicrosoftDocs/Virtualization-Documentation问题 1276中提到:

So great news -- win10 build 19640 (in insider's fast ring) has hyper-v support for nested virtualization on amd systems.好消息——win10 build 19640 (in Insider's fast ring)在 amd 系统上支持 hyper-v 嵌套虚拟化。
You must create a hyper-v v9.3 vm.您必须创建一个 hyper-v v9.3 虚拟机。 Does not work on kvm hosts.不适用于 kvm 主机。

I got a win10 nested vm to work on a hyper-v host running a 3900x with out-of-box hyper-v settings.我有一个 win10 嵌套 vm 可以在运行 3900x 且具有开箱即用的 hyper-v 设置的 hyper-v 主机上工作。
Host is already torn down tho in favor of kvm.主机已经被拆除以支持 kvm。 waiting on kvm to support this.等待 kvm 支持这一点。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM