运行 Net5.0 Web API 项目时找不到页面

page not found while running net5.0 web api project

提问人:Neo 提问时间:7/2/2021 更新时间:7/2/2021 访问量:70

问:

我有一个使用 VS 2019 模板制作的 net5.0 Web API 项目,该项目使用 swagger 列出端点。 我还为项目添加了容器支持。当我从 Visual Studio 运行容器时,一切都很好,它显示了 swagger 终结点。同样,在从 Visual Studio 执行 iis express 或作为 kestrel 项目时,它可以正常工作。

问题是当我使用以下命令构建dockerfile时:

docker build -t appnet5 -f .\ProjectName\Dockerfile .

然后运行它:

docker run -d -p 4568:80 --name myapp appnet5

尝试访问端点时出现错误,提示:“找不到此本地主机页面”。

我尝试访问 swagger 端点以及 api 端点。两者都给出相同的响应。

然后我使用以下命令发布了代码:

dotnet publish -c Release 

然后,我从项目名称\bin\Release\net5.0\publish文件夹中运行了.exe应用程序。 即使应用程序运行,我仍然收到相同的错误。

以下是 launchsettings 的副本:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:63516",
      "sslPort": 0
    }
  },
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ProjectName": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "dotnetRunMessages": "true",
      "applicationUrl": "http://localhost:5000"
    },
    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
      "publishAllPorts": true,
      "applicationUrl": "http://0.0.0.0:80"
    }
  }
}

我无法访问端点并收到此错误的原因可能是什么? 我处理问题错了吗? 谢谢

docker api swagger .net-5

评论

0赞 Lei Yang 7/2/2021
你能CD到项目文件夹(csproj所在的位置)并运行docker build -t appnet5 .

答: 暂无答案