환경 변수는 널리 지원된다는 것이 장점이지만 대부분의 애플리케이션 플랫폼에서는 더 다양한 우선순위를 가진 설정값이 필요하다. 이 장의 나머지 실습 예제는 우선순위가 다르게 부여된 출처별로 설정값을 읽어 들일 수 있는 웹 애플리케이션을 소재로 삼는다. 기본 설정값은 도커 이미지에 포함된 JSON 파일에서 읽어 들이지만, 애플리케이션이 그 외 위치를 찾아 설정 파일이 발견될 경우 이 파일의 설정값이 기본값을 대체한다. 여기에 더해 환경 변수는 모든 JSON 설정 파일에 우선한다. 예제 4-5는 이 애플리케이션의 첫 번째 배치 정의다.
예제 4-5 todo-web.yaml, 구조화된 설정값을 읽어 들이는 애플리케이션
spec:
containers:
- name: web
image: kiamol/ch04-todo-list
env:
- name: Logging__LogLevel__Default
value: Warning
이 YAML 파일로 애플리케이션을 실행하면 정의에서 환경 변수로 새로 설정한 로그 수준을 제외한 모든 설정에 이미지에 포함된 JSON 설정 파일의 값이 적용된다.