Mig*_*Slv 13 docker docker-for-windows windows-server-2019
我只是在 Windows 2019 服务器上安装 docker 来运行 linux 容器。
我遵循本指南“在 Windows Server 2019 上运行 Linux 容器”一章。当我尝试运行 bash shell 时,出现以下错误:
docker.exe:注册失败层:未能启动服务工具VM(applydiffe53547ea1d150a4e4afba05378a3a45be5ea769d52fddf03ff25dbd09e43d20d):集装箱e53547ea1d150a4e4afba05378a3a45be5ea769d52fddf03ff25dbd09e43d20d_svm CreateContainer过程中遇到错误:未能在Windows系统调用:因为没有安装所需功能的虚拟机无法启动。
有谁知道缺少什么功能?
更新: 看来问题与程序中的第一个错误有关。运行时:
Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true
Run Code Online (Sandbox Code Playgroud)
它抛出错误:
Get-VM : Hyper-V was unable to find a virtual machine with name "ContainerHost".
Run Code Online (Sandbox Code Playgroud)
我不相信这是脚本中的指南,因为没有任何命令可以创建这个 WinContainerHost 虚拟机。
解决更令人困惑,有 2 种类型的容器,hyper-v 和服务器容器,如本 指南中所述。我不确定要遵循什么路径。我很失落。
这听起来真的很愚蠢,我的意思是愚蠢。
我已经解决了这个问题,我只是不敢相信到处都有人问问题而没有答案。
基本上你只需要在 Hyper-V 中创建一个虚拟机。它不需要操作系统或任何特殊参数。
就是这个
New-VM -Name WinContainerHost -MemoryStartupBytes 1GB
Run Code Online (Sandbox Code Playgroud)
Get-VM 工作后,Docker 将启动并运行 Linux 容器。
我想说的是,我还能说什么!!!
抱歉,我没有足够的声誉来发表评论/询问更多信息。
运行 Linux 容器时, Hyper-V 容器或 Moby VM是必需的 - 运行这些容器需要虚拟化。所以在这种情况下,你不能使用“服务器容器”。
启用 VT-x,例如从 BIOS 进行虚拟化 - 对于嵌套虚拟化是必需的。使用 AWS,您需要裸机实例。
如果这些都可以,你可以尝试已经提到的命令
Get-VM *WinContainerHost* | Set-VMProcessor -ExposeVirtualizationExtensions $true
Run Code Online (Sandbox Code Playgroud)
相反,如果他们的名字略有不同。如果仍然不成功,Get-VM命令应列出所有虚拟机,输出是什么?
您可以安装运行 LCOW 所需的模块
Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools
Run Code Online (Sandbox Code Playgroud)
然后再试一次。如果它仍然不存在,这里是创建“ContainerHost”的脚本。
| 归档时间: |
|
| 查看次数: |
4377 次 |
| 最近记录: |