从MCR拉取.NET Core 2.1容器镜像教程

363 阅读2分钟

从8月21日开始,.NET Core 2.1 Docker容器镜像将不再在Docker Hub上提供,而是专门在Microsoft Container Registry(MCR)上提供。这一变化此前已在dotnet/dotnet-docker #2848中公布。如果你依赖Docker Hub上的.NET Core 2.1镜像,你应该立即切换到使用MCR。如果这个变化对你/你的组织是一个问题,请联系 dotnet@microsoft.com

我们在2019年初开始向MCR发布.NET镜像,包括.NET Core 2.1的镜像。MCR的好处在引用的帖子中讨论。

.NET Core 2.1将于8月21日停止支持。.NET Core 2.1图像将在MCR上保持可用。然而,由于.NET Core 2.1将从21日开始不再被支持,我们鼓励你立即转移到较晚的.NET版本。.NET Core 2.1在当年5月发布后,从2018年8月开始被支持了三年

帖子的其余部分展示了从MCR而不是Docker Hub拉取.NET容器镜像应该做出的改变。

从MCR拉取镜像

.NET镜像可以在MCR的以下仓库中找到:

  • mcr.microsoft.com/dotnet/runtime-deps
  • mcr.microsoft.com/dotnet/runtime
  • mcr.microsoft.com/dotnet/aspnet
  • mcr.microsoft.com/dotnet/sdk

你需要进行以下转换,以便从MCR而不是Docker Hub拉取.NET Core 2.1镜像。

对于SDK:


microsoft/dotnet:2.1-sdk -> mcr.microsoft.com/dotnet/sdk:2.1
microsoft/dotnet:2-sdk -> mcr.microsoft.com/dotnet/sdk:2.1
microsoft/dotnet:2.1-sdk-stretch -> mcr.microsoft.com/dotnet/sdk:2.1-stretch
microsoft/dotnet:2.1-sdk-stretch-arm32v7 -> mcr.microsoft.com/dotnet/sdk:2.1-stretch-arm32v7
microsoft/dotnet:2.1-sdk-nanoserver-1809 -> mcr.microsoft.com/dotnet/sdk:2.1-nanoserver-1809
microsoft/dotnet:2.1-sdk-alpine -> mcr.microsoft.com/dotnet/sdk:2.1-alpine
microsoft/dotnet:2.1-sdk-bionic -> mcr.microsoft.com/dotnet/sdk:2.1-bionic
microsoft/dotnet:2.1-sdk-bionic-arm32v7 -> mcr.microsoft.com/dotnet/sdk:2.1-bionic-arm32v7
microsoft/dotnet:latest -> mcr.microsoft.com/dotnet/sdk:2.1

对于ASP.NET Core:


microsoft/dotnet:2.1-aspnetcore-runtime -> mcr.microsoft.com/dotnet/aspnet:2.1
microsoft/dotnet:2-aspnetcore-runtime-> mcr.microsoft.com/dotnet/aspnet:2.1
microsoft/dotnet:2.1-aspnetcore-runtime-stretch-slim -> mcr.microsoft.com/dotnet/aspnet:2.1-stretch-slim
microsoft/dotnet:2.1-aspnetcore-runtime-stretch-slim-arm32v7 -> mcr.microsoft.com/dotnet/aspnet:2.1-stretch-slim-arm32v7
microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1809 -> mcr.microsoft.com/dotnet/aspnet:2.1-nanoserver-1809
microsoft/dotnet:2.1-aspnetcore-runtime-alpine -> mcr.microsoft.com/dotnet/aspnet:2.1-alpine
microsoft/dotnet:2.1-aspnetcore-runtime-bionic -> mcr.microsoft.com/dotnet/aspnet:2.1-bionic
microsoft/dotnet:2.1-aspnetcore-runtime-bionic-arm32v7 -> mcr.microsoft.com/dotnet/aspnet:2.1-bionic-arm32v7
microsoft/dotnet:aspnetcore-runtime-> mcr.microsoft.com/dotnet/aspnet:2.1

对于.NET Runtime:


microsoft/dotnet:2.1-runtime -> mcr.microsoft.com/dotnet/runtime:2.1
microsoft/dotnet:2-runtime -> mcr.microsoft.com/dotnet/runtime:2.1
microsoft/dotnet:2.1-runtime-stretch-slim -> mcr.microsoft.com/dotnet/runtime:2.1-stretch-slim
microsoft/dotnet:2.1-runtime-stretch-slim-arm32v7 -> mcr.microsoft.com/dotnet/runtime:2.1-stretch-slim-arm32v7
microsoft/dotnet:2.1-runtime-nanoserver-1809 -> mcr.microsoft.com/dotnet/runtime:2.1-nanoserver-1809
microsoft/dotnet:2.1-runtime-alpine -> mcr.microsoft.com/dotnet/runtime:2.1-alpine
microsoft/dotnet:2.1-runtime-bionic -> mcr.microsoft.com/dotnet/runtime:2.1-bionic
microsoft/dotnet:2.1-runtime-bionic-arm32v7 -> mcr.microsoft.com/dotnet/runtime:2.1-bionic-arm32v7
microsoft/dotnet:runtime -> mcr.microsoft.com/dotnet/runtime:2.1

对于.NET Runtime的依赖性:


microsoft/dotnet:2.1-runtime-deps -> mcr.microsoft.com/dotnet/runtime-deps:2.1
microsoft/dotnet:2.1-runtime-deps-stretch-slim -> mcr.microsoft.com/dotnet/runtime-deps:2.1-stretch-slim
microsoft/dotnet:2.1-runtime-deps-stretch-slim-arm32v7 -> mcr.microsoft.com/dotnet/runtime-deps:2.1-stretch-slim-arm32v7
microsoft/dotnet:2.1-runtime-deps-alpine -> mcr.microsoft.com/dotnet/runtime-deps:2.1-alpine
microsoft/dotnet:2.1-runtime-deps-bionic -> mcr.microsoft.com/dotnet/runtime-deps:2.1-bionic
microsoft/dotnet:2.1-runtime-deps-bionic-arm32v7 -> mcr.microsoft.com/dotnet/runtime-deps:2.1-bionic-arm32v7
microsoft/dotnet:runtime-deps -> mcr.microsoft.com/dotnet/runtime-deps:2.1

总结

多年来,我们一直与Docker公司紧密合作,将微软的容器镜像过渡到微软容器注册中心。鉴于.NET镜像的受欢迎程度,我们选择了.NET Core 2.1的终止支持日期作为在Docker Hub上托管.NET镜像的最后日期。如前所述,.NET Core 2.1镜像自2019年以来一直在MCR上提供,而.NET Core 3及以后的镜像版本一直在MCR上独家提供。请移至MCR拉取所有.NET容器镜像,并移至支持的.NET版本