10

我创建了一个运行 grafana docker 映像的 Web 应用程序,如下所示

az group create --name grp-test-container-1 
                --location "West Europe"
az appservice plan create --name asp-test-container-1 
                          --resource-group grp-test-container-1 
                          --sku B1 
                          --is-linux
az webapp create --resource-group grp-test-container-1 
                 --plan asp-test-container-1 
                 --name app-test-container-1 
                 --deployment-container-image-name grafana/grafana:latest

然后我更新了 appsettings 以便将 env 变量传递给 docker run 命令

az webapp config appsettings set --name app-test-container-1 
                                 --settings GF_INSTALL_PLUGINS='grafana-azure-monitor-datasource' 
                                 --resource-group grp-test-container-1

然后我需要重新启动容器,以便在 docker run 命令中获取添加的 env 变量。

我尝试重新启动 Web 应用程序,停止/启动它,更改 docker 映像名称并保存在容器设置下.. 没有任何效果

在此处输入图像描述

有什么建议么?

解决方案/错误

正如Charles Xu在他的回答中所说,要重新加载容器,您需要更改 docker 图像并保存,以便让 Web 应用程序再次获取图像并应用添加的 env 变量。

就我而言,我进行了更改,然后查看了日志输出,但日志从未更新。我等了 5-10 分钟,仍然没有添加日志..

但是当我访问该站点并浏览到由 env 变量安装的扩展程序时,我可以确定这一切都已经完成了。

因此,总结一下:容器设置中的日志是不可信的,在进行更改时,这些更改可能不会显示在日志中。

4

2 回答 2

6

在拔掉头发几天后,我刚刚与 Azure Web 应用程序/应用程序服务团队的支持工程师通了电话。字面上地。

因此,如果其他人的应用服务无法响应重启、配置更改、docker 映像更改等问题,您可以尝试以下操作:

在 Azure 门户中导航到您的应用服务,然后“配置”->“常规设置”并将“始终开启”设置设置为“开启”。此设置默认设置为“关闭”,并且会使应用服务在一段时间未收到任何请求后进入“空闲状态”。

触发应用服务退出此空闲状态的唯一方法是对其执行请求。在第一个请求完成之前,重新启动、配置更改、docker 映像更改等将无效。将“始终开启”设置为“开启”将阻止应用服务进入此空闲状态,因此它始终响应。

就成本而言,此设置更改不会产生任何影响。除非您试图将尽可能多的应用程序强制纳入单个应用程序服务计划,其中许多应用程序很少使用,因此处于空闲状态不会使用您的应用程序服务计划总数的任何资源。

于 2020-09-11T11:44:24.307 回答
3

您需要做的是将图像从 更改grafana/grafana:latestgrafana/grafana,只需删除版本latest并单击下面的保存按钮。然后它将起作用。

在此处输入图像描述

在此处输入图像描述

于 2019-02-05T07:36:25.543 回答