작업 명세의 env 블록

작업 명세의 env 블록 (env block in the job specification)

배치 job -> group -> task -> **env**

env 블록은 시작 전에 태스크의 환경을 채울 환경 변수 목록을 구성해요.

job "docs" {
  group "example" {
    task "server" {
      env {
        my_key = "my-value"
      }
    }
  }
}

출처: 문서

본문

매개변수 (Parameters)

env 블록의 "매개변수"는 어떤 키-값이든 될 수 있어요. 키와 값 모두 string 유형이지만 다른 유형으로도 지정할 수 있어요. 자동으로 문자열로 변환돼요. 대시(-) 같은 잘못된 문자는 밑줄로 변환돼요.

예제 (Examples)

다음 예제는 env 블록만 보여줘요. env 블록은 위에 나열된 배치에서만 유효하다는 것을 기억하세요.

강제 변환 (Coercion)

이 예제는 키-값 쌍을 지정하는 다양한 방법을 보여줘요. 내부적으로 이 값들은 문자열 표현으로 저장돼요. 유형 정보는 보존되지 않아요.

env {
  key   = 1.4
  key   = "1.4"

  key = true
  key = "1"
  key = 1
}

보간 (Interpolation)

이 예제는 Nomad 보간을 사용해 환경 변수를 채우는 것을 보여줘요.

env {
  NODE_CLASS = "${node.class}"
}

점이 있는 환경 변수 (Environment variables with dots)

.을 포함하는 것처럼 유효한 HCLv2 식별자가 아닌 환경 변수는 대체 맵 할당 구문이 필요해요.

env = {
  "discovery.type" = "single-node"
}

동적 환경 변수 (Dynamic environment variables)

Nomad는 HashiCorp Consul과 Vault에 저장된 데이터에서 동적 환경 변수를 채우는 것도 지원해요. 이 기능을 사용하려면 template 블록 문서를 참조하세요.

더 알아보기 (Learn more)