Разверните Azure Webapp с настраиваемыми переменными среды контейнера

В общем, я бы запустил экземпляр докера на моем локальном компьютере, например, docker run -t -i -e 'a=b'...

Теперь я хотел бы развернуть и запустить свой собственный образ докера, который я ранее загружал в реестр контейнеров Docker, и запустить его, как команда выше, - с переменными среды.

Посмотрев интерфейс командной строки Azure для WebApp, вы увидите, что настройка переменных среды в целом должна быть возможной. Но для меня кажется, что эти "переменные среды" не являются переменными среды, которые передаются в команду docker. Зачем? Проверяя протокол контейнера, я вижу, как запускается контейнер докеров. Не заданы переменные среды.

С контейнером Azure он будет работать так, как этот az container create... --environment-variables a=b. Эти переменные среды передаются в контейнер/докер. И это именно то, что я ищу для WebApps.

У кого-нибудь есть опыт развертывания веб-приложений Azure с клиентскими экземплярами Docker, запущенными с переменными среды?

Ответ 1

Я думаю, я нашел решение проблемы:

Настройки приложения вводятся в ваше приложение как переменные среды во время выполнения.

Если вам нужно установить переменную среды для вашего приложения, просто добавьте параметр приложения на портале Azure. Когда ваше приложение будет запущено, мы автоматически добавим его в процесс как переменную среды.

Как это работает через CLI:

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

Установка всех переменных среды через CLI, как команда выше, работала для меня. То же самое возможно через пользовательский интерфейс портала в настройках приложения. Если вы проверите, как Azure запускает экземпляр Docker, вы увидите, что ни одна из заданных переменных среды не установлена во время запуска (например, docker run -d -p 3287:3000 --name <mycontainername -e a=b), но если вы войдете в контейнер Docker и запустите команду echo для переменной среды, вы увидите, что переменная среды была введена.

Примечание. Возможно, вам придется перезапустить экземпляр Docker, чтобы добавить новые переменные среды.