无法在Windows 10中启动Docker容器

时间:2018-12-10 06:55:30

标签: docker docker-compose

我正在使用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有关。我的码头工人信息通过以下方式提供了以下详细信息:

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

5 个答案:

答案 0 :(得分:3)

只要有人在使用像我这样的Windows 10虚拟机,就可以在Power Shell中使用以下命令。

Set-VMProcessor -VMName my_virtual_machine -ExposeVirtualizationExtensions $true

在执行命令之前,请记住要以管理员身份运行,否则会提示您没有权限。

答案 1 :(得分:3)

这帮助我解决了相同的问题(我启用了虚拟化,但是您可以在“任务管理器”->“性能”选项卡上再次检查):

  1. 卸载hyper-v(可在Windows功能中找到)
  2. 重启电脑
  3. 安装hyper-v
  4. 重启电脑

现在您希望可以构建容器。

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

答案 2 :(得分:0)

如果您正在使用Hyper-V运行Docker,则可能需要进入BIOS并启用虚拟化

https://blogs.technet.microsoft.com/canitpro/2015/09/08/step-by-step-enabling-hyper-v-for-use-on-windows-10/

最近在Windows上安装Docker时遇到了这个错误,这是罪魁祸首。

答案 3 :(得分:0)

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

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

Nested Hyper-V support in Parallels Desktop virtual machines

enter image description here

禁用该功能会导致RavenDB容器不以该通用消息开头:

”虚拟机无法启动,因为必需的功能是 未安装。”

顺便说一句,要在命令行上启动docker时获取日志,您可以这样做:

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

这可以帮助您调试导致问题的原因...

答案 4 :(得分:-2)

尝试以下操作:

  • 卸载docker,重新启动
  • 在Windows功能中取消选中Hyper-V和Windows容器,然后重新启动
  • Completely remove docker,重新启动
  • 重新安装docker,也许尝试edge