我只是将docker安装在Windows 2019服务器上以运行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和服务器容器。我不确定该走什么路。我很迷路。
答案 0 :(得分:4)
对不起,我没有足够的声誉来评论/询问更多信息。
在运行Linux容器时,必须Hyper-V containers or Moby VM-运行这些容器需要虚拟化。因此,在这种情况下,您不能使用“服务器容器”。
启用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
然后重试。如果here is the script仍然不存在,则无法创建“ ContainerHost”。