Настройка переменных среды в экземплярах контейнеров

Завершено

Используя переменные среды в экземплярах контейнеров, вы можете динамически изменять конфигурацию приложения или скрипта, запущенных в контейнере. Эти переменные среды похожи на аргумент docker runкомандной --env строки.

Если нужно передать секреты в качестве переменных среды, служба "Экземпляры контейнеров Azure" поддерживает безопасные значения для контейнеров Windows и Linux.

В следующем примере при создании контейнера передаются две переменные. В этом примере предполагается, что вы используете CLI в оболочке Bash или Cloud Shell, если вы используете командную строку Windows, укажите переменные с двойными кавычками, например --environment-variables "NumWords"="5" "MinLength"="8".

az container create \
    --resource-group myResourceGroup \
    --name mycontainer2 \
    --image mcr.microsoft.com/azuredocs/aci-wordcount:latest 
    --restart-policy OnFailure \
    --environment-variables 'NumWords'='5' 'MinLength'='8'\

Безопасные значения

Объекты с безопасными значениями предназначены для хранения конфиденциальных данных, например паролей или ключей приложения. Использовать безопасные значения для переменных среды — более безопасный и гибкий способ по сравнению с добавлением значений в образ контейнера.

Переменные среды с защищенными значениями не отображаются в свойствах контейнера. Доступ к их значениям можно получить только в пределах контейнера. Например, свойства контейнера, просматриваемые на портале Azure или с помощью Azure CLI, отображают только имя безопасной переменной, а не ее значение.

Установите безопасную переменную среды, указав для типа переменной свойство secureValue вместо обычного value. В следующем файле YAML представлены две переменные двух разных типов.

apiVersion: 2018-10-01
location: eastus
name: securetest
properties:
  containers:
  - name: mycontainer
    properties:
      environmentVariables:
        - name: 'NOTSECRET'
          value: 'my-exposed-value'
        - name: 'SECRET'
          secureValue: 'my-secret-value'
      image: nginx
      ports: []
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 1.5
  osType: Linux
  restartPolicy: Always
tags: null
type: Microsoft.ContainerInstance/containerGroups

Чтобы развернуть группу контейнеров с помощью YAML, выполните следующую команду:

az container create --resource-group myResourceGroup \
    --file secure-env.yaml \