在 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/windowsservercore
和 microsoft/nanoserver
存储库的最新版本 Windows Server Core
和 Nano 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
我最近尝试在 Windows Server 2019 实例上拉取 运行 一个 Docker 图像(在 Windows 10 上工作),但失败并显示以下内容错误信息:
The container operating system does not match the host operating system.
我已经在来自正常 microsoft/windowsservercore
和 microsoft/nanoserver
存储库的最新版本 Windows Server Core
和 Nano 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