Impostare le variabili di ambiente nelle istanze di contenitore

Completato

L'impostazione delle variabili di ambiente nelle istanze dei contenitori consente di offrire la configurazione dinamica dell'applicazione o dello script eseguiti dal contenitore. Queste variabili di ambiente sono simili all'argomento della riga di comando --env per docker run.

Se è necessario passare segreti come variabili di ambiente, Istanze di Azure Container supporta valori sicuri per i contenitori sia Windows che Linux.

Nell'esempio seguente due variabili vengono passate al contenitore quando viene creato. L'esempio presuppone che l'interfaccia della riga di comando sia in esecuzione in una shell Bash o in Cloud Shell. Se si usa il prompt dei comandi di Windows, specificare le variabili tra virgolette doppie, ad esempio --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'\

Valori sicuri

Gli oggetti con valori sicuri sono progettati per contenere informazioni riservate, ad esempio le password o le chiavi per le applicazioni. L'uso di valori sicuri per le variabili di ambiente è sia più sicuro che più flessibile rispetto all'inclusione nell'immagine del contenitore.

Le variabili di ambiente con valori protetti non sono visibili nelle proprietà del contenitore. È possibile accedere ai valori di queste variabili solo dall'interno del contenitore. Ad esempio, le proprietà del contenitore visualizzate nel portale di Azure o nell'interfaccia della riga di comando di Azure mostrano solo il nome della variabile sicura e non il suo valore.

Impostare una variabile di ambiente sicura, specificando la proprietà secureValue anziché il normale value per il tipo di variabile. Le due variabili definite nel file YAML seguente illustrano i due tipi di variabili.

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

È necessario eseguire il comando seguente per distribuire il gruppo di contenitori con YAML:

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