Настройка переменных среды в экземплярах контейнеров
Используя переменные среды в экземплярах контейнеров, вы можете динамически изменять конфигурацию приложения или скрипта, запущенных в контейнере. Эти переменные среды похожи на аргумент 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 \