我有一个在Azure中托管的web应用程序,它有一个linux容器,映像存储在Azure容器注册表中。网络应用程序运行良好,我配置了几个应用程序设置。其中一个设置为:WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE
但是,当我更新容器映像时,这个特定的应用程序设置将变为false。
我已经尝试通过portal和az-cli删除该设置并再次添加它,但在更新后仍无法成功保持值TRUE。在诊断和解决问题->Web应用程序重新启动->我可以看到以下消息:由于应用程序环境变量的更改,您的应用程序被回收。这很可能是由于更新应用内设置或交换操作造成的但没有解释为什么它又变成了假的。
更新容器图像的命令
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,但仍然没有更改。
此问题的解决方案如下:突击队az webapp config container set
可以选择将容器的存储设置为True(默认为False)
需要添加到命令中的参数是--enable-app-service-storage -t
尝试并验证了它的工作原理,现在输出如下:
{
"name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
"slotSetting": false,
"value": "true"
},
如果未提供该参数,该命令将覆盖您当前的应用程序设置。
https://learn.microsoft.com/en-us/cli/azure/webapp/config/container?view=azure-cli最新