이 예에서는 -D 매개변수 값으로 전달할 값을 하드코딩하지만, 클라우드에서 필요한 대부분의 구성 데이터는 구성 서버에 위치한다.
각 장의 모든 코드 예제는 도커 컨테이너에서 완벽히 실행된다. 도커를 사용하면 모든 서비스 시작을 통제하는 환경별 도커 컴포즈 파일로 다양한 환경을 시뮬레이션할 수 있다. 컨테이너에 필요한 환경별 값들은 컨테이너의 환경 변수로 전달된다. 예를 들어 개발 환경에서 라이선싱 서비스를 시작하려면 dev/docker-compose.yml 파일에 다음 코드에 표시된 항목이 포함된다.
코드 5-7 dev 환경용 docker-compose.yml 파일
licensingservice:
image: ostock/licensing-service:0.0.1-SNAPSHOT
ports:
- "8080:8080"
environment: ➊
SPRING_PROFILES_ACTIVE: "dev" ➋
SPRING_CLOUD_CONFIG_URI: http://configserver:8071 ➌
➊ 라이선싱 서비스 컨테이너를 위한 환경 변수를 지정한다.
➋ SPRING_PROFILES_ACTIVE 환경 변수를 스프링 부트 서비스 명령줄로 전달하고 스프링 부트에 실행할 프로파일을 알려 준다.
➌ 컨피그 서비스의 엔드포인트다.