我需要在 Windows Server 2016 中运行 nano server docker 镜像,但每当我尝试拉取镜像时都会重试..mode 我需要一些建议来解决它。 命令是:docker pull mcr.microsoft.com/windows/nanoserver:10.0.14393.953
最佳答案
“最新”标签不再可用,根据 Microsoft's indications on container/host compatibility ,您将无法使用内核版本比主机 (Windows Server 2016) 更新的任何容器镜像。这就是您在评论中提到的错误的含义:
If I use 1909 as tag it's throwing an error as no matching manifest for windows/amd64 10.0.14393 in the manifest list entries that's why I am using the above the tag
解决方案是使用具有相同 Windows 版本的图像,当前标记为:
mcr.microsoft.com/windows/servercore:ltsc2016
mcr.microsoft.com/windows/nanoserver:sac2016
请注意,Nano Server 标签未列出(因为它已于 2018 年 10 月停产),要在列表中实际找到它,您必须进入 full tags list .您应该认为它已被弃用,并且可能会被删除,恕不另行通知。
最后,Nano Server 的 1607/sac2016 版本与后来的版本(特别是 1803 之后)有很大不同,因为它更大(sac2016 为 1.1GB vs 1909 为 260MB),但它还包含许多已删除的功能在更高版本中,例如 PowerShell。因此,如果您计划编写 Dockerfile,以便能够在您的系统和中的更高版本中从 Nano Server 镜像构建,请务必小心。这可能不是什么大问题,因为较新版本的 Windows 无论如何都能够运行较旧的 Nano Server 容器,但如果您计划公开您的 Dockerfile,人们可能会质疑您为什么使用 EOLed大图像作为基础,而不是更新、更薄的图像。
关于docker - 如何在windows server 2016中成功拉取windows nano server docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59546771/