Définir des variables d’environnement dans des instances de conteneur

Effectué

Définir des variables d’environnement dans vos instances de conteneur vous permet de fournir une configuration dynamique de l’application ou du script exécuté par le conteneur. Ces variables d’environnement sont similaires à l’argument de ligne de commande --env de docker run.

Si vous devez transmettre des secrets en tant que variables d’environnement, Azure Container Instances prend en charge des valeurs sécurisées pour les conteneurs Windows et Linux.

Dans l’exemple suivant, deux variables sont passées au conteneur lors de sa création. L’exemple suppose que vous exécutez l’interface de ligne de commande dans un shell Bash ou dans Cloud Shell ; si vous utilisez l’invite de commandes Windows, spécifiez les variables avec des guillemets doubles, par exemple --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'\

Valeurs sécurisées

Les objets avec des valeurs sécurisées sont destinés à contenir des informations sensibles telles que des mots de passe ou des clés pour votre application. L’utilisation de valeurs sécurisées pour les variables d’environnement est plus sûre et plus flexible que d’inclure ces dernières dans l’image de votre conteneur.

Les variables d’environnement avec des valeurs sécurisées ne sont pas visibles dans les propriétés de votre conteneur. Leurs valeurs sont accessibles uniquement à partir du conteneur. Par exemple, les propriétés de conteneur affichées dans le portail Azure ou dans Azure CLI n’affichent pas une variable d’environnement sécurisée, ni sa valeur.

Définissez une variable d’environnement sécurisée en spécifiant la propriété secureValue au lieu de la valeur value standard pour le type de variable. Les deux variables définies dans le YAML suivant illustrent les deux types de variables.

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

Vous devez exécuter la commande suivante pour déployer le groupe de conteneurs avec YAML :

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