0

我正在使用 Docker 容器运行 Azure 应用服务。我真的没有找到文档,在这种情况下会更新容器。

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

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

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

我根据 terraform 代码的简化示例:

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"
  }

}
4

1 回答 1

2

实际上,您不需要手动更新 Web App 的 docker 映像。Web 应用程序的持续部署可以帮助您解决它。查看使用 Web App for Containers 进行持续部署。它将向您展示如何解决 Web App 的图像更新问题。

更新:

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

于 2021-01-21T07:00:24.777 回答