在 Windows Server 2019 上为 Docker 拉取 Windows 图像存在 OS 兼容性问题

Pulling a Windows Image for Docker on Windows Server 2019 has OS compatibility issues

我最近尝试在 Windows Server 2019 实例上拉取 运行 一个 Docker 图像(在 Windows 10 上工作),但失败并显示以下内容错误信息:

The container operating system does not match the host operating system.

我已经在来自正常 microsoft/windowsservercoremicrosoft/nanoserver 存储库的最新版本 Windows Server CoreNano Server 上进行了尝试。

我不明白,因为这些 Windows 内核 运行 运行在 Windows 操作系统上。

根据 this github issue 上的反馈,您必须从 Microsoft 的新 Container Registry (mcr.microsoft.com) 中提取特定版本 (1809) 的存储库。此版本与 Windows Server 2019 兼容。

docker pull mcr.microsoft.com/windows/servercore:1809

docker pull mcr.microsoft.com/windows/nanoserver:1809

另请注意,nanoserver 的基本映像中不再有 Power-Shell。

至于为什么会这样,我不太清楚。如果有人能阐明这个问题,我们将不胜感激。

出现这个错误是因为Windows10和Windows服务器有不同的隔离模式:Win 10的Hyper-V隔离和Win Server的进程隔离。您可以找到更多 here