コンテナー インスタンスで環境変数を設定する

完了

Container Instances で環境変数を設定すると、コンテナーによって実行されるアプリケーションまたはスクリプトの動的な構成を提供できます。 これらの環境変数は、docker run に対する --env コマンド ライン引数に似ています。

シークレットを環境変数として渡す必要がある場合、Azure Container Instances が Windows と Linux の両方のコンテナーのセキュリティで保護された値をサポートします。

次の例では、コンテナーの作成時に 2 つの変数が渡されます。 この例では、Bash シェルまたは Cloud Shell で CLI を実行することを想定しています。Windows コマンド プロンプトを使う場合は、--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'\

セキュリティで保護された値

セキュリティで保護された値を持つオブジェクトは、アプリケーションのパスワードやキーなどの機微な情報を保持することを目的としています。 セキュリティで保護された値をコンテナーのイメージではなく環境変数に使用することで、より安全性と柔軟性を確保できます。

セキュリティで保護された値を持つ環境変数は、コンテナーのプロパティでは見えません。 これらの値には、コンテナー内からのみアクセスできます。 たとえば Azure portal や Azure CLI からコンテナーのプロパティを表示すると、セキュリティで保護された変数の名前だけが表示され、その値は表示されません。

セキュリティで保護された環境変数は、変数の型に通常の value の代わりに secureValue プロパティを指定することで設定します。 次の YAML で定義されている 2 つの変数は、2 つの変数の型を示します。

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

次のコマンドを実行し、YAML を使ってコンテナー グループをデプロイします。

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