Festlegen von Umgebungsvariablen in Container Instances

Abgeschlossen

Das Festlegen von Umgebungsvariablen in Ihren Containerinstanzen ermöglicht es Ihnen, eine dynamische Konfiguration der Anwendung oder des Skripts bereitzustellen, die bzw. das vom Container ausgeführt wird. Diese Umgebungsvariablen ähneln dem Befehlszeilenargument --env für docker run.

Wenn Sie Geheimnisse als Umgebungsvariablen weitergeben müssen, unterstützt Azure Container Instances sichere Werte sowohl für Windows- als auch Linux-Container.

Im folgenden Beispiel werden zwei Variablen an den Container übergeben, wenn er erstellt wird. Im Beispiel wird vorausgesetzt, dass Sie die CLI in einer Bash- oder Cloud Shell ausführen. Wenn Sie die Windows-Eingabeaufforderung verwenden, geben Sie die Variablen in doppelten Anführungszeichen an, z. B. --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'\

Sichere Werte

Objekte mit sicheren Werten sind zur Aufbewahrung sensibler Informationen wie Passwörter oder Schlüssel für Ihre Anwendung gedacht. Die Verwendung von sicheren Werten für Umgebungsvariablen ist sowohl sicherer als auch flexibler als die Einbindung in Ihr Containerimage.

Umgebungsvariablen mit sicheren Werten sind in den Eigenschaften Ihres Containers nicht sichtbar. Auf ihre Werte kann nur innerhalb des Containers zugegriffen werden. Beispielsweise wird in den Containereigenschaften, die im Azure-Portal oder in der Azure CLI angezeigt werden, nur der Name einer sicheren Variablen angezeigt, nicht ihr Wert.

Legen Sie eine sichere Umgebungsvariable fest, indem Sie für den Variablentypen den secureValue-Wert anstelle des normalen value angeben. Die in der folgenden YAML definierten zwei Variablen veranschaulichen die zwei Variablentypen.

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

Sie würden den folgenden Befehl ausführen, um die Containergruppe mit YAML bereitzustellen:

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