我在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和slotSettingting都设置为True,但仍然没有更改。
答案 0 :(得分: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