使用自定义容器环境变量部署 Azure Web 应用



通常,我会在本地计算机上启动 docker 实例,就像docker run -t -i -e 'a=b' ...

现在,我想部署并运行我之前上传到 Docker 容器注册表的自定义 docker 映像,并像上面的命令一样启动它 - 使用环境变量。

检查适用于 Web 应用的 Azure CLI,可以看到通常应该可以设置环境变量。但对我来说,这个"环境变量"似乎不是传递给 docker 命令的环境变量。为什么?检查容器协议,我可以看到 docker 容器是如何启动的。未设置环境变量。

使用 Azure 容器,它将像这样工作az container create ... --environment-variables a=b。这些环境变量将向下传递到容器/码头工人。这正是我正在寻找的WebApps。

是否有人在使用以环境变量启动的客户 Docker 实例部署 Azure Web 应用方面有一些经验?

我想我找到了问题的解决方案:

应用设置在运行时作为环境变量注入到应用中。

如果需要为应用程序设置环境变量,只需在 Azure 门户中添加应用设置。当你的应用运行时,我们会将应用设置作为环境变量自动注入到进程中。

它如何通过 CLI 工作:

az webapp config appsettings set --name <mycontainername> --resource-group <myresourcegroupname> --settings a='b' 

像上面的命令一样通过 CLI 设置所有环境变量对我有用。通过应用设置中的门户 UI 也可以这样做。如果检查 Azure 如何启动 Docker 实例,则会看到在启动期间未设置任何设置的环境变量(如。docker run -d -p 3287:3000 --name <mycontainername -e a=b(,但是如果您登录到 Docker 容器并对环境变量运行echo命令,您将看到环境变量已被注入。

注意:也许您必须重新启动 Docker 实例才能注入新的环境变量。

最新更新