1

我想在 Windows 环境中运行我的 Gitlab-CI 管道。因此,我使用了一个 Windows Gitlab-Runner,它使用 Docker Desktop 版本 4.3.0 作为执行器。

Gitlab-Runner 在其上运行的“服务器”具有 Windows 10 1809、内部版本 17763.2300 和运行器版本 14.5.0。当我尝试运行管道时,出现以下错误:

错误:作业失败(系统故障):来自守护进程的错误响应:容器 b098e3522e8889f8a1ec6c48f40d84fb2eb2a398d2d0923a04fda47054b997e3 在 hcsshim::System::CreateProcess 期间遇到错误:Windows 系统调用失败:系统找不到指定的文件。(0x2) [事件详细信息:提供程序:00000000-0000-0000-0000-000000000000] [事件详细信息:提供程序:00000000-0000-0000-0000-000000000000] [事件详细信息:onecore\vm\compute\management\orchestration\vmhostedcontainer \processmanagement.cpp(173)\vmcomputeagent.exe!00007FF6CC039F4B: (caller: 00007FF6CBFEE13A) Exception(6) tid(388) 80070002 系统找不到指定的文件。CallContext:[\Bridge_ProcessMessage\VmHostedContainer_ExecuteProcess] 提供者:00000000-0000-0000-0000-000000000000] (exec.go:66:14s)

查看错误

我也尝试在客户端上使用 Windows Gitlab-Runner。它具有 Windows 10 版本 21H1、内部版本 19043.1348 和运行器版本 14.5.1。同样的错误再次出现。

两次我都使用了 python 图像和 Windows 图像 (mcr.microsoft.com/windows/servercore:20H2)。

似乎错误发生在清理之后,但我不明白日志错误信息。power shell 已经以管理员权限运行。

有谁知道如何解决这个错误?

4

1 回答 1

0

您发布的错误消息表明 docker 客户端本身需要以管理员权限启动。您应该尝试以管理员身份运行 Docker Desktop。

以管理员身份运行

更新:是的,从新的错误消息看来,您可能需要在 Windows 中启用虚拟化功能。

这是一个相关问题:来自守护进程的错误响应:hcsshim::CreateComputeSystem: The virtual machine could not be started because an required feature is not installed

您可以通过在 powershell 中运行这些命令来启用它们(以管理员身份):

Enable-WindowsOptionalFeature -Online -FeatureName containers –All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

此外,请查看此博客文章以获取其他故障排除提示:https ://keathmilligan.net/gitlab-docker-windows-visualstudio

根据文章,检查您的主机和容器版本:

Windows 容器主机只能运行具有相同操作系统版本或更早的容器映像。例如,如果您运行的是 Windows 10 或服务器版本 1909,您将无法运行版本 2004 或更新的映像。

于 2021-12-15T18:45:07.717 回答