在Windows 2019服务器上运行linux容器时出错

时间:2019-10-08 15:42:20

标签: docker docker-for-windows windows-server-2019

我只是将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和服务器容器。我不确定该走什么路。我很迷路。

1 个答案:

答案 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”。