我想在Windows上开始使用Docker。我的机器有4GB内存和1.9GHz - 2.5GHz Intel i5处理器,运行Windows 10 Pro x64。我知道这些并不是强大的规格,但我原以为我应该可以运行Docker?
但是,下载了Docker后,我收到错误消息:
没有足够的内存来启动docker
我已经看到各种论坛帖子和github问题,并遵循我可以看到的所有建议,例如修改Docker中的设置,我试过这些:
他们还提到了更改Hyper-V VM的设置,但是,这似乎被删除并在每次尝试启动时使用Docker指定的设置重新创建。我尝试了2048MB,1792MB,1536MB,1280MB和1024MB的RAM,所有这些都失败了。
我还可以做些什么?当然我可以在我的机器上以某种形式运行docker?注意:我已关闭所有非必要的后台应用程序。对于什么似乎是一个相当普遍的问题似乎没有很多其他建议,其中给定的解决方案不起作用?
我也遇到了同样的问题。尝试了从提供动态内存到启用和禁用Hyper V等等所有功能。但尽管如此,我没有成功。
然后我尝试了这些步骤
Docker无法在Windows上启动:没有足够的内存来启动docker:
1)在System Tray菜单中,右键单击Docker图标
2)选择切换到Windows容器...
3)重启系统。
在重新启动docker状态之后你应该显示为:Docker正在运行
希望这可以帮助!
PS:正如rfay所说,切换到大多数用户的Windows容器之后,切换回Linux容器应该可以正常工作。
更新(2019年5月1日)
尽管有上述方法,但如果您仍无法在Windows机器上启动docker,请尝试以下操作:
F5
刷新它现在尝试运行docker,我相信这应该可行。祝好运!
如果您在窗口上并收到此错误,请转到“搜索”框
#1 type Hyper-V Manager
Click on it,
a window like attached screenshot open,
#2 Select MobilinuxVM(normally same name if running windows docker)
#3 Right click and open - Setting
2 The second window will open(setting for MobiLinux) i.e to the screenshot.
#4 Go to Memory Tab in left Pane.
#5 click on a dynamic checkbox and set minimum value to some lower amount say 512, and max value to the desired one,
#6 apply
now it will start running as well after few minutes take the amount it required as well.
在“设置”中,我重置为出厂默认设置。并重新启动笔记本电脑。它适合我
您是否在HyperV设置中启用了NUMA跨越?如果没有启用它,我打赌这将解决您的问题。
默认情况下,Windows Server启用NUMA跨越,这提供了最大的灵活性,因为虚拟机(VM)可以访问和使用任何NUMA节点中的内存。但与强制VM在与处理器核心相同的NUMA节点上使用内存相比,它可能导致性能降低。
通过禁用NUMA跨越,可确保VM在同一NUMA节点中使用内存和处理器核心,从而提供最佳性能。这应该只更改一次,如果作为管理员,您对NUMA以及禁用的影响感到满意,并且如果您有一些额外的管理套件可以帮助确保最佳配置。
要配置NUMA跨越,请打开Hyper-V设置并选择NUMA Spanning选项并禁用它,我相信它会得到解决;我在这个问题上挣扎了一个星期,并通过禁用NUMA解决了这个问题。
我确信通过在Hyper-V管理器中禁用NUMA可以将其标记为已解决。
我也有同样的问题。也许你在Hyper-v中有其他虚拟机,其他虚拟机也需要内存。请停止所有其他Hyper-v虚拟机并再次测试。对我来说工作My Hyper-v Manager
我降低了我的内存并交换到最低的磁盘映像大小和32gb,它最终启动时没有切换到Windows容器或不得不重新启动。