azure 部署Web App Linux在容器中启动,即使发布模型是代码

byqmnocz  于 2023-06-24  发布在  Linux
关注(0)|答案(1)|浏览(82)

我在Web App(Linux)中部署了.net core 6项目,它已经启动并运行,当我看到日志流时,我可以看到下面的日志

当我创建Web App(f1)时,使用了以下属性
1.发布模式-“代码”
1.运行时堆栈=“Dotnetcore - 6.0”
1.操作系统=“Linux”
即使我选择了“Code”而不是Container,为什么Web App运行在Container中?选择“代码”和“容器”作为发布模型有什么区别?
Kudo还显示“This site cannot be reached ERR_TIMED_OUT”,

fbcarpbf

fbcarpbf1#

Azure App Service for Linux***默认情况下使用Linux容器***来托管Web应用程序,因此可以在日志流中看到这些容器日志。它不会与windows web应用程序相同。

Windows:

选择“代码”和“容器”作为发布模型有什么区别?

1.发布方式: 验证码**

  • 当您选择“代码”作为发布模式时,应用服务将期望您部署代码。
  • 因此,它提供了运行时堆栈(如Node.js,.NET,Python等),可根据我们的要求进行选择,并将在特定的运行时环境中执行代码。
  • 它需要完全控制管理基础设施来运行代码,所以我们只需要部署代码。
    2.发布方式: 容器**
  • 当您选择“容器”作为发布模式时,我们必须将应用程序的预构建Docker映像(包含完整的代码,包和配置)部署到Web应用程序。
  • 它提供了对运行时环境的灵活性和控制。
  • 当我们想要部署预配置的容器化应用程序并需要特定的运行时堆栈时,可以使用此模式。
    部署web应用选择 codepublish 模式时,可以在deployment center=>logs中看到部署日志和状态:

当您选择 Container 作为 publish 模式时,日志将如下图所示:

正如您的日志所示,它找不到清单文件。

为了解决这个问题

  • 重新部署您的Web应用程序并尝试再次运行。
  • 在运行Web应用程序之前添加端口设置,转到应用程序服务=>设置=>配置=>添加应用程序设置=>名称= WEBSITES_PORT &值= 8080

相关问题