Definir variáveis de ambiente em instâncias de contêiner
Definir variáveis de ambiente nas suas instâncias de contentor permite-lhe oferecer configuração dinâmica da aplicação ou do script executado pelo contentor. Essas variáveis de ambiente são semelhantes ao argumento de linha de --env
comando para docker run
.
Se você precisar passar segredos como variáveis de ambiente, as Instâncias de Contêiner do Azure dão suporte a valores seguros para contêineres Windows e Linux.
No exemplo a seguir, duas variáveis são passadas para o contêiner quando ele é criado. O exemplo é assumir que você está executando a CLI em um shell Bash ou Cloud Shell, se você usar o prompt de comando do Windows, especifique as variáveis com aspas duplas, como --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'\
Valores seguros
Objetos com valores seguros destinam-se a armazenar informações confidenciais, como senhas ou chaves para seu aplicativo. Usar valores seguros para variáveis de ambiente é mais seguro e flexível do que incluí-los na imagem do contêiner.
As variáveis de ambiente com valores seguros não são visíveis nas propriedades do contêiner. Seus valores podem ser acessados somente de dentro do contêiner. Por exemplo, as propriedades de contêiner exibidas no portal do Azure ou na CLI do Azure exibem apenas o nome de uma variável segura, não seu valor.
Defina uma variável de ambiente seguro especificando a secureValue
propriedade em vez da regular value
para o tipo da variável. As duas variáveis definidas no YAML a seguir demonstram os dois tipos de variáveis.
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
Você executaria o seguinte comando para implantar o grupo de contêineres com YAML:
az container create --resource-group myResourceGroup \
--file secure-env.yaml \