Definir variáveis de ambiente em instâncias de contêiner
A definição de variáveis de ambiente nas suas instâncias de contêiner permitem fornecer a configuração dinâmica do aplicativo ou script executado pelo contêiner. Essas variáveis de ambiente são semelhantes ao argumento de linha de comando --env
para docker run
.
Se for necessário passar segredos como variáveis de ambiente, as Instâncias de Contêiner do Azure dão suporte a valores seguros para contêineres do Windows e do Linux.
No exemplo a seguir, duas variáveis são passadas para o contêiner quando ele é criado. O exemplo a seguir pressupõe que você esteja executando a CLI em um shell do Bash ou Cloud Shell. Se você está usando 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 servem para proteger 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 de contêiner.
Variáveis de ambiente com valores seguros não fiam 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 exibirão apenas o nome de uma variável segura, mas não o valor.
A variável de ambiente seguro podem ser definida especificando a propriedade secureValue
em vez de value
para o tipo da variável. As duas variáveis definidas no YAML a seguir demonstram os dois tipos de variável.
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 \