无法在Windows 10中启动Docker容器

5
我正在使用Windows 10专业版,并成功安装了Docker Client 18.09.0并获取了hello-world Docker镜像。
但是当我尝试使用docker run命令在容器中运行该镜像时,出现以下错误。
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: CreateComputeSystem 7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de: The virtual machine could not be started because a required feature is not installed.
(extra info: {"SystemType":"Container","Name":"7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de","Owner":"docker","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\Docker\\windowsfilter\\7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de","Layers":[{"ID":"ba045b84-94ef-5e96-a203-a8ef5cf53b41","Path":"C:\\ProgramData\\Docker\\windowsfilter\\2cbe39538cedc860f14e954ceed1044a5760df8830e8dc21bcbd4d21e88bf8f3"},{"ID":"959d85fc-a8bf-595a-84f9-a083080f2e27","Path":"C:\\ProgramData\\Docker\\windowsfilter\\3fc0987aeffab6be6b2bb0626867739cbad8dd80f42951e4e803b1e61b64543f"},{"ID":"40a5cfc0-ad6b-5b5e-85ff-dcd5826f380a","Path":"C:\\ProgramData\\Docker\\windowsfilter\\3e839c40c3c413a579f0f60a6ad8ec03daa496dcb61cfc621c35788beb6ae0d4"},{"ID":"be5e886a-ec0d-50e8-a735-c2c9a8b717de","Path":"C:\\ProgramData\\Docker\\windowsfilter\\12eddd7dc5f665f34ffebe1ff1600de14da8d7998950b9a3a180407b2781993a"}],"HostName":"7b206637bede","HvPartition":true,"EndpointList":["3C0F3EDA-3D0F-4C93-8908-C4DCB4FF6C8E"],"HvRuntime":{"ImagePath":"C:\\ProgramData\\Docker\\windowsfilter\\3e839c40c3c413a579f0f60a6ad8ec03daa496dcb61cfc621c35788beb6ae0d4\\UtilityVM"},"AllowUnqualifiedDNSQuery":true}).

我不确定问题是什么或哪个功能未安装。当我在互联网上搜索时,所有的错误都与hyperv有关,而我的环境中已经有它了。顺便说一下,我的docker信息如下:

PS C:\Windows\system32> docker info
Containers: 14
 Running: 0
 Paused: 0
 Stopped: 14
Images: 2
Server Version: 18.09.0
Storage Driver: windowsfilter
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
Operating System: Windows 10 Pro Version 1809 (OS Build 17763.134)
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 23.54GiB
Name: DESKTOP-6MOD0L8
ID: 4QC3:QQKX:2BS2:P2JG:RUZA:3MK2:RAQ7:ZW7V:Q6YZ:5S56:Z3GQ:WXDC
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: -1
 Goroutines: 26
 System Time: 2018-12-10T12:14:05.5454663+05:30
 EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

Docker设置有时无法识别已安装的应用程序。您是否在Docker安装后重新启动了主机? - Valerian Pereira
是的,我已经重新启动了多次。仍然一样。 - Anandaraja_Srinivasan
你确定已经安装了Windows容器和Hyper-V Windows功能吗? - James Blake
@James Blake 是的,我已经检查过了。但是没有帮助!! - Anandaraja_Srinivasan
5个回答

3

我遇到了同样的问题(虚拟化已启用,但您可以在任务管理器的“性能”选项卡中进行双重检查):

  1. 卸载Hyper-V(在Windows功能中找到)
  2. 重新启动电脑
  3. 安装Hyper-V
  4. 重新启动电脑

现在您应该可以构建您的容器了。

来源:https://github.com/docker/for-win/issues/2956#issuecomment-514572084


3

如果有人像我一样使用Windows 10虚拟机,可以在PowerShell中使用以下命令。

Set-VMProcessor -VMName my_virtual_machine -ExposeVirtualizationExtensions $true

在执行该命令之前,请确保以管理员身份运行,否则会出现错误提示,说明您没有权限。


这个命令是输入到主机还是客户机? - undefined

0

0

我试图在 Windows 10 中运行 RavenDB docker 容器。我的 Windows 10 是在 Mac OS 上运行的 Parallels Desktop 虚拟机。

为了能够运行它,我必须在 Parallels 上启用嵌套虚拟化功能:

Parallels Desktop 虚拟机中的嵌套 Hyper-V 支持

enter image description here

禁用该功能导致RavenDB容器无法启动,并出现以下通用消息:

"无法启动虚拟机,因为未安装所需功能。"

顺便提一下,在命令行启动docker时获取日志,可以执行以下操作:

docker run -it ravendb/ravendb:windows-nanoserver-latest > C:/Temp/docker-log.txt 2>&1d

这可能有助于您调试导致问题的原因...


-5

请尝试以下操作:

  • 卸载 Docker,重新启动计算机
  • 在 Windows 功能中取消选中 Hyper-V 和 Windows 容器,重新启动计算机
  • 彻底删除 Docker,重新启动计算机
  • 重新安装 Docker,可以尝试使用 edge 版本

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接