【问题标题】:Docker and ASP.NET Core 2.1 preview 1Docker 和 ASP.NET Core 2.1 预览版 1
【发布时间】:2018-08-20 10:28:59
【问题描述】:

我已经安装了来自here 的 ASP.NET Core 2.1 预览版 1 和 Visual Studio 的最新预览版。

然后我按照以下步骤操作:文件 > 新建项目 > ASP.NET Core Web 应用程序 > 选择API,检查Enable Docker Support (Os: Linux)No Authentication

这很好地生成了项目模板,以及一个带有 docker compose 文件的 Docker 项目。这构建得很好,并提取了所有需要的图像。但是,当我尝试在 Visual Studio 中使用 Docker 运行它时,它似乎不起作用。

在日志中我看到以下内容:

内容根路径:/app
现在收听:http://[::]:80
...
请求开始 HTTP/1.1 GET http://localhost:32778/ Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: 请求开始 HTTP/1.1 GET http://localhost:32778/

现在,当我尝试对 http://localhost:32778/api/values 执行 GET(使用 Postman)时,没有看到任何响应:

无法得到任何回应 连接到http://localhost:32778/api/values 时出错。

但是! Docker 日志显示正在发出请求:

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: 请求开始 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.4873 毫秒内完成 307 Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求在 14.4873 毫秒内完成 307

我在这里缺少什么?如果我使用 IIS Express 运行默认项目,一切都会按预期运行。

编辑:我刚刚在 ASP.NET Core 2.0 上对此进行了测试,一切正常。

【问题讨论】:

    标签: docker asp.net-core asp.net-core-2.1


    【解决方案1】:

    我也在为 Docker 上的 netcoreapp2.1 苦苦挣扎。你确定 docker 镜像成功拉下来了吗?因为当我创建一个新项目时,创建的 Dockerfile 有:

    FROM microsoft/aspnetcore:2.1 AS base
    //...
    //...
    FROM microsoft/aspnetcore-build:2.1 AS build
    

    从我在microsoft docker repo 中看到的情况来看,这些图像根本不存在(!)。

    VS中的输出显示:

    ========== Pulling Images ==========
    Pulling missing Docker images. To cancel this download, close the command prompt window. To disable image auto-pull, see Tools > Options > Container Tools.
    docker pull microsoft/aspnetcore:2.1
    docker pull failed
    

    我找到的最接近的图片是:

    microsoft/aspnetcore:2.1.0-preview1
    microsoft/aspnetcore-build:2.1.300-preview1
    

    应用程序可以运行,但还有另一个问题:在 VS 中调试时,调试器没有遇到任何断点(因为没有加载 PDB 符号,我不知道为什么会这样)。

    我刚刚描述的所有内容都适用于创建新的 ASP.NET Core 2.0 项目。

    【讨论】:

    • 同一条船。
    【解决方案2】:

    正如@andrewbadera 所指出的,存储库发生了变化:

    SDK

    旧:microsoft/aspnetcore-build:2.0

    新:microsoft/dotnet:2.1-sdk

    ASP 网络

    旧:microsoft/aspnetcore:2.0

    新:microsoft/dotnet:2.1-aspnetcore-runtime

    我不知道为什么 Visual Studio 的模板还没有使用它,但他们可能很快就会解决这个问题。

    Visual Studio 模板正在生成:

    SDK => microsoft/aspnetcore:2.1

    ASP NET => microsoft/aspnetcore-build:2.1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 2019-11-12
      相关资源
      最近更新 更多