我已经从here安装了ASP.NET Core 2.1预览1和Visual Studio的最新预览版 .
然后我按照以下步骤操作:文件>新建项目> ASP.NET核心Web应用程序>选择 API
,检查 Enable Docker Support (Os: Linux)
和 No Authentication
.
这很好地生成了项目模板,以及带有docker撰写文件的Docker项目 . 这样可以很好地构建,并提取所有需要的图像 . 但是,当我尝试使用Docker从Visual Studio中运行它时,它似乎不起作用 .
在日志中,我看到以下内容:
内容根路径:/ app现在正在侦听:http:// [::]:80 ...请求启动HTTP / 1.1 GET http:// localhost:32778 / Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求启动HTTP / 1.1 GET http:// localhost:32778 /
现在,当我尝试对http://localhost:32778/api/values(使用Postman)进行GET时,没有看到任何响应:
无法获得任何响应连接到http:// localhost:32778 / api / values时出错 .
但! Docker日志显示正在进行请求:
Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求启动HTTP / 1.1 GET http:// localhost:32778 / api / values [40m [32minfo [39m [22m [49m:Microsoft.AspNetCore.Hosting.Internal.WebHost] [1]请求启动HTTP / 1.1 GET http:// localhost:32778 / api / values [40m [32minfo [39m [22m [49m:Microsoft.AspNetCore.Hosting.Internal.WebHost [2]请求在14.4873ms完成307 Microsoft .AspNetCore.Hosting.Internal.WebHost:信息:请求在14.4873ms 307完成
我在这里错过了什么?如果我使用IIS Express运行默认项目,一切都按预期工作 .
编辑:我刚刚在ASP.NET Core 2.0上测试过,一切正常 .
2 回答
正如@andrewbadera指出的那样,存储库发生了变化:
SDK
旧:
microsoft/aspnetcore-build:2.0
新:
microsoft/dotnet:2.1-sdk
ASP NET
旧:
microsoft/aspnetcore:2.0
新:
microsoft/dotnet:2.1-aspnetcore-runtime
我不知道为什么视觉工作室的模板已经没有使用它,但很快他们可能会解决这个问题 .
Visual Studio模板正在生成:
SDK =>
microsoft/aspnetcore:2.1
ASP NET =>
microsoft/aspnetcore-build:2.1
我也在使用Docker上的netcoreapp2.1 . 您确定已成功拉下泊坞窗图像吗?因为当我创建一个新项目时,创建的Dockerfile具有:
从我在microsoft docker repo中看到的,这些图像只是 do not exist (!) .
VS中的输出显示:
我找到的最接近的图像是:
但应用程序工作,但还有另一个问题:在VS中调试时, debugger doesn't hit any breakpoints (因为PDB符号未加载,我不知道为什么会这样) .
我刚刚描述的所有内容都适用于创建新的ASP.NET Core 2.0 项目 .