1

我有一个托管在 Azure 中的 Web 应用程序,其中包含一个 linux 容器,该容器的图像存储在 azure 容器注册表中。Web 应用程序运行良好,我配置了几个应用程序设置。其中一项设置是:WEBSITES_ENABLE_APP_SERVICE_STORAGE = TRUE

但是,当我更新容器映像时,此特定应用程序设置将恢复为 false。

我尝试通过门户和 az cli 删除设置并再次添加它,但在更新后保持值 TRUE 仍然没有成功。在诊断和解决问题 -> Web App 已重新启动 -> 我可以看到以下消息:您的应用程序已被回收,因为应用程序环境变量已更改。这很可能是由于应用程序设置更新或交换操作而发生的。 但没有解释为什么它恢复为假。

更新容器镜像的命令

az webapp config container set \
--docker-custom-image-name "DOCKER|xx.azurecr.io/imagename:tag" \
--docker-registry-server-password topsecret \
--docker-registry-server-url https://index.docker.io \
--docker-registry-server-user username \
--name MyWebApp \
--resource-group MyResourceGroup

命令成功,返回如下:

  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "false"
  },

当我使用新图像更新时,我希望应用程序设置 WEBSITES_ENABLE_APP_SERVICE_STORAGE = TRUE 并且不会像现在那样恢复为 false。我没有使用插槽设置,但我尝试将 value 和 slotSetting 都设置为 True,但仍然没有变化。

4

1 回答 1

0

此问题的解决方案如下:突击队az webapp config container set有一个选项可以将容器的存储设置为 True(默认为 False)

需要添加到命令的参数是--enable-app-service-storage -t

尝试并验证它是否有效,现在输出如下:

  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "true"
  },

如果未提供该参数,该命令将覆盖您当前的应用程序设置。

https://docs.microsoft.com/en-us/cli/azure/webapp/config/container?view=azure-cli-latest

于 2019-05-02T08:49:18.683 回答