docker - 如何在windows server 2016中成功拉取windows nano server docker镜像?

标签 docker windows-server-2016 nano-server

我需要在 Windows Server 2016 中运行 nano server docker 镜像,但每当我尝试拉取镜像时都会重试..mode 我需要一些建议来解决它。 命令是:docker pull mcr.microsoft.com/windows/nanoserver:10.0.14393.953

enter image description here

最佳答案

“最新”标签不再可用,根据 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/

相关文章:

node.js - Node-RED docker 读取目录内容的问题

docker - 通过远程API传递命令行参数

docker - 无法从浏览器访问 IIS 容器 - Docker

docker - 在 Windows Server 2016 上构建 Docker 镜像

docker - 尝试将应用程序移植到 docker nanoserver 容器。运行 exe 失败,退出代码为 -1073741515(缺少依赖关系)

Powershell远程访问docker上的nanoserver

jenkins - 用于持续集成/持续部署的 Docker 镜像版本控制

docker - 无法使用前端dockerfile.v0解决:无法构建LLB:执行程序失败

docker - Windows Server Containers 域帐户身份验证

asp.net - 如何在 docker 容器上基于 nanoserver-1709 的镜像上安装证书?