Docker镜像不再拉

时间:2019-03-28 10:40:11

标签: windows image docker asp.net-core docker-pull

直到最近,我们一直在使用WS2016服务器(版本1607)上的docker来运行microsoft / dotnet:2.1-aspnetcore-runtime,没有问题。截至本周末,由于提取第一层失败(407ada6e90de),我们无法再成功提取该图像。通过谷歌浏览,这似乎与基础图像是多体系结构基础,并为我们的机器拉出最合适的版本有关,并通过可用标签浏览,看起来目前仅支持1709和1803,我也阅读了说明该层407ada ...的帖子是版本1709图像的指示符。我是否缺少某些东西,或者Microsoft是否可能会停止支持WS2016版本1609并且未更新其文档?是否可以在不升级操作系统的情况下在服务器上获取此映像?

谢谢

3 个答案:

答案 0 :(得分:0)

如果您的计算机上有以前的映像,则可以将其推送到本地存储库并从那里进行拉取。可能是,微软在其Docker仓库中检查了针对不同架构提取的Docker映像。

答案 1 :(得分:0)

Microsoft最近将其所有.NET Core Docker映像移至了自己的容器注册表(MCR)。剩下的Docker Hub清单提供了一种集中的方式来发现这些映像,但是旧的Docker Hub映像名称不再可行。现在,您的图片特别被命名为:

mcr.microsoft.com/dotnet/core/aspnet:2.1

有关更多信息,请参见announcement post

编辑

实际上,我所说的不正确。尽管您仍应更新为新的映像名称,但是旧映像名称应继续起作用,尽管将来并不会支持所有标签。因此,它可能只是您正在使用的特定标签而不再起作用。还值得一提的是,Microsoft放弃了对Nano Server映像的支持,因此,如果您以前使用的是基于Nano Server的映像,则可能会遇到问题。简而言之,尽管Microsoft声明它不需要更新要提取的映像名称,但该声明附带了一些警告。通常,我会查看新的MCR图像,看看您是否受到此影响,因为时间太巧合,以至于完全不相关。

答案 2 :(得分:0)

这样做的原因是/由于Windows服务器2016是LTSC,而点网框架图像所基于的图像是nanoserver 2016,即SAC。这意味着不再有Microsoft支持的docker for server 2016的任何点网框架的现成映像。有一个标签,可让您获取图像的版本,但将不支持和更新该图像。另外,您可以编辑Microsoft nanoserver映像以使用servercore并根据需要使用发行版进行更新。