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

问题描述 投票:5回答:1

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

docker docker-for-windows windows-server-2019
1个回答
0
投票

抱歉,我没有足够的声誉来评论/询问更多信息。

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

© www.soinside.com 2019 - 2024. All rights reserved.