我的解决方案托管在AWS上,并且显然它们将在7月1日停止对.NET Core 1.0的支持。
因此,我希望将.NET Core的版本从1.0升级到2.1。我能够直接部署到AWS(使用“ sls deploy ...”),但是没有问题,但是通过Jenkins这样做却遇到了问题。
我的Jenkinsfile中的getCompileDockerImage()函数返回与2.1(2.1.507-sdk)兼容的SDK版本。
它包含以下代码:
def getCompileDockerImage()
{
return 'microsoft/dotnet:2.1.507-sdk'
}
但是,在docker运行“ docker pull microsoft / dotnet:2.1.507-sdk”命令时,我得到以下消息:“来自守护程序的错误响应:找不到microsoft / dotnet:2.1.507-sdk的清单”
我认为Jenkins无法使用指定的SDK,但是我不确定如何下载该版本。
我尝试通过SSH进入主实例和从实例,以尝试确定在这些实例上安装了什么,但是运行“ dotnet --info”不会产生任何结果。
预期结果:Jenkins能够提取指定的SDK并构建解决方案 实际结果:Jenkins无法提取指定的SDK
答案 0 :(得分:0)
Microsoft对Docker映像的工作方式进行了一些更改。正式而言,它们现在都位于Microsoft自己的Azure容器注册表(mcr.microsoft.com
)中。 Docker Hub清单现在都在那。对于您的实际问题,.NET Core SDK映像现在位于mcr.microsoft.com/dotnet/core/sdk
,并且您为主要/次要版本设置了标签,即mcr.microsoft.com/dotnet/core/sdk:2.1
。或者,特别是mcr.microsoft.com/dotnet/core/sdk:2.1.507
。但是,并非所有修订版都可用,因此,如果无法使用,请使用2.1
。无论如何,修订版本号实际上并不重要(也就是说,无论如何,您可能应该始终使用最新修订版)。