컨테이너 인스턴스에서 환경 변수 설정

완료됨

컨테이너 인스턴스에서 환경 변수를 설정하면 컨테이너가 실행하는 애플리케이션 또는 스크립트의 동적 구성을 제공할 수 있습니다. 관련 환경 변수를 설정하는 것은 --env 명령줄 인수를 docker run으로 설정하는 것과 비슷합니다.

환경 변수로 비밀을 전달해야 하는 경우 Azure Container Instances는 Windows와 Linux 컨테이너 모두에 사용 가능한 보안 값을 지원합니다.

다음 예제에서는 두 변수가 생성될 때 컨테이너로 전달됩니다. 예제에서는 Bash Shell 또는 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에서 정의된 두 개의 변수는 두 가지의 변수 유형을 설명합니다.

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 \