我只是在Windows 2019服务器上安装docker来运行linux容器。
我遵循此guide,“在Windows Server 2019上运行Linux容器”一章。当我尝试运行bash shell时,出现以下错误:
docker.exe:无法注册层:无法启动服务实用程序虚拟机(applydiffe53547ea1d150a4e4afba05378a3a45be5ea769d52fddf03ff25dbd09e43d20d):容器e53547ea1d150a4e4afba05378a3a45be5ea769d52fddf03ff25dbd09e43d20d_svm在CreateContainer期间遇到错误:Windows中的失败系统调用:无法启动虚拟机,因为未安装必需的功能。
任何人都知道缺少什么功能吗?
更新:它表明问题与程序的第一个错误有关。运行时:
Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true
它引发错误:
Get-VM : Hyper-V was unable to find a virtual machine with name "ContainerHost".
我不相信这是脚本中的指南,因为没有命令可以创建此WinContainerHost虚拟机任何软件,巫婆都放弃了。
解决更令人困惑,如guide中所述,有两种类型的容器,hyper-v和服务器容器。我不确定该走什么路。我很迷路。
抱歉,我没有足够的声誉来评论/询问更多信息。
Hyper-V containers or Moby VM是运行Linux容器时必须的-运行这些容器需要虚拟化。因此,在这种情况下,您不能使用“服务器容器”。
例如,启用VT-x来自BIOS的虚拟化-嵌套虚拟化必选。使用AWS,您需要Bare Metal instance。
如果这些没问题,您可以尝试已经提到的命令
Get-VM *WinContainerHost* | Set-VMProcessor -ExposeVirtualizationExtensions $true
相反,如果它们的名称有所不同。如果仍然没有成功,则Get-VM
命令应列出所有VM,输出是什么?
您可以通过以下方式安装运行LCOW所需的模块
Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools
然后重试。如果它仍然不存在,则用于创建“ ContainerHost”的here the the script。