使用容器的 Azure 应用服务:容器何时更新?

Azure App Service using Containers: When is the container updated?

我是 运行 Azure 应用服务,使用 Docker 个容器。 我真的没有找到文档,在什么情况下更新容器。

此外,我想使用应用服务插槽,但我不确定这是否会改变任何内容。

我假设,如果可以控制更新(尤其是交换插槽),siteconfig/linux_fx_version 中的标签可以设置为最新。如果无法控制(例如容器更新可以随机发生),最好的选择是使用显式版本标签并在每次部署时更新它们。

我不确定我的假设是否正确。

我根据地形代码的简化示例:

resource "azurerm_app_service" "example" {
  name                = "example"
  resource_group_name       = "example"
  location                  = ..
  app_service_plan_id = "example"

  app_settings = local.env_vars

  site_config {
    linux_fx_version = "DOCKER|someimage:latest"
  }

}

resource "azurerm_app_service_slot" "staging" {
  name                       = "staging"
  location                   = ..
  resource_group_name        = "example"
  app_service_plan_id        = "example"

  app_settings = local.env_vars

  site_config {
    linux_fx_version = "DOCKER|someimage:latest"
  }

}

实际上,您不需要手动更新 Web 应用程序的 docker 图像。 web app的持续部署可以帮你解决。看看Continuous deployment with Web App for Containers。它将向您展示如何解决Web App 图像更新问题。

更新:

持续部署是针对一个网络应用程序的设置。如果你只是在现有的网络应用程序上为生产创建一个插槽,当图像发生变化时会拉出一个新图像,那么新图像也会影响生产。我建议您为生产创建一个新的网络应用程序,并使用与测试区分的正确图像。