コンテナー インスタンスで環境変数を設定する
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 \