【问题标题】:How to pull windows nano server docker image successfully in windows server 2016?如何在 windows server 2016 中成功拉取 windows nano server docker 镜像?
【发布时间】:2019-12-31 17:02:12
【问题描述】:

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

【问题讨论】:

  • 发布你的 docker 文件
  • 我只是想拉纳米服务器,命令是:docker pull mcr.microsoft.com/windows/nanoserver 并且这个图像没有被拉。

标签: docker windows-server-2016 nano-server


【解决方案1】:

“最新”标签不再可用,并且根据Microsoft's indications on container/host compatibility,您将无法使用内核版本更新比主机(Windows Server 2016)的任何容器映像。这就是您在 cmets 中提到的错误的含义:

如果我使用 1909 作为标签,它会抛出一个错误,因为在清单列表条目中没有匹配的 windows/amd64 10.0.14393 这就是我使用上述标签的原因

解决方法是使用相同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 与 1909 中的 260MB)但它还包含许多已删除的功能在更高版本中,例如 PowerShell。因此,如果您计划编写 Dockerfile,希望能够在您的系统 以后的版本中从 Nano Server 映像构建,请小心。这可能不是一个大问题,因为较新版本的 Windows 无论如何都能够运行较旧的 Nano Server 容器,但是如果您计划公开您的 Dockerfile,人们可能会质疑您为什么使用 EOLed大图像作为您的基础,而不是更新、更苗条的图像。

【讨论】:

  • 是否可以安全地假设 Windows Server 2016 基本上不再支持容器,因为您无法再为其获取 nanoserver 基础映像?
  • @Mike 我刚刚尝试提取我提到的图像,它们仍然有效
【解决方案2】:

此图片没有最新标签

试试

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

【讨论】:

  • 对不起,这是我的完整命令:docker pull mcr.microsoft.com/windows/nanoserver:10.0.14393.953 因为我使用的是 windows server 2016。
  • 如果我使用 1909 作为标签,它会抛出一个错误,因为清单列表条目中没有 windows/amd64 10.0.14393 的匹配清单,这就是我使用上述标签的原因。
  • @IronManUTF8 右键单击​​系统托盘中的 docker 图标,单击切换到 linux 容器。确保执行此操作后,您的 docker 正在运行
  • 我只能使用windows容器,因为docker安装在windows server 2016中所以不能切换到Linux
猜你喜欢
  • 2018-07-05
  • 2017-04-22
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
相关资源
最近更新 更多