使用容器的 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 图像更新问题。
更新:
持续部署是针对一个网络应用程序的设置。如果你只是在现有的网络应用程序上为生产创建一个插槽,当图像发生变化时会拉出一个新图像,那么新图像也会影响生产。我建议您为生产创建一个新的网络应用程序,并使用与测试区分的正确图像。
我是 运行 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 图像更新问题。
更新:
持续部署是针对一个网络应用程序的设置。如果你只是在现有的网络应用程序上为生产创建一个插槽,当图像发生变化时会拉出一个新图像,那么新图像也会影响生产。我建议您为生产创建一个新的网络应用程序,并使用与测试区分的正确图像。