Docker Compose 파일을 사용한 다른 환경 설정 (Prod 및 QA)

날아올라돼지야·2024년 8월 27일
0

이 챕터에서는 default 프로파일에 대한 Docker Compose 파일을 기반으로, prodqa 프로파일에 대해 유사한 Docker Compose 파일을 생성하는 과정을 다루어 보겠습니다.

이를 통해 서로 다른 환경에서 동일한 Docker 이미지를 재사용할 수 있으며, 필요한 경우 환경별로 설정을 조정할 수 있습니다. 각 단계를 자세히 설명하겠습니다.

1. 기존 컨테이너 중지 및 삭제

  • 새로운 Docker Compose 파일을 테스트하기 전에, 현재 실행 중인 모든 Docker 컨테이너를 중지하고 삭제해야 합니다.
  • 터미널에서 이전에 실행한 Docker Compose 명령어가 있는 경우, 해당 터미널을 열고 다음 명령어를 실행합니다:
  • 명령어: docker-compose down
  • 이 명령어는 모든 컨테이너를 중지하고 삭제합니다.

2. 새로운 프로파일을 위한 Docker Compose 파일 생성

  • 기존의 default 프로파일에 대한 Docker Compose 파일을 prodqa 폴더로 복사합니다.
  • 이를 통해 동일한 Docker Compose 파일을 기반으로 두 개의 새로운 환경(prod, qa)을 쉽게 설정할 수 있습니다.
  • 각 폴더(prod, qa)에 복사된 Docker Compose 파일에서 유일하게 변경해야 할 부분은 commonconfig.yml 파일 내의 spring_profiles_active 설정입니다. 이 값을 각각 prodqa로 변경합니다.
  • 예:
    • prod 폴더의 commonconfig.yml: spring_profiles_active: prod
    • qa 폴더의 commonconfig.yml: spring_profiles_active: qa

3. 환경별 Docker Compose 파일 테스트

  • 테스트할 프로파일을 선택합니다. 예시에서는 prod 프로파일을 선택했습니다.
  • 터미널에서 prod 폴더로 이동한 후, 다음 명령어를 실행하여 컨테이너를 시작합니다:
  • 명령어: docker-compose up -d
  • 이 명령어를 통해 모든 컨테이너(RabbitMQ, Config 서버, Accounts, Loans, Cards)가 시작됩니다.
  • Docker Desktop을 열어 모든 컨테이너가 정상적으로 시작되었는지 확인합니다.

4. Postman을 사용한 설정 테스트

  • Postman을 사용하여 prod 환경에서 실행 중인 각 마이크로서비스의 API를 호출하여 설정이 올바르게 적용되었는지 확인합니다.
  • 예를 들어, cards 마이크로서비스의 /api/contact-info 엔드포인트를 호출하여 prod 프로파일에 맞는 설정 정보가 반환되는지 확인합니다.
  • 설정을 변경하여 자동으로 반영되는지 확인합니다. 예를 들어, cards-prod.yml 파일에서 prod 값을 Docker APIs로 변경하고, 이를 GitHub에 커밋합니다.
  • Postman에서 동일한 API를 다시 호출하여 변경된 설정이 반영되었는지 확인합니다.
  • 변경 사항이 자동으로 반영되었음을 확인한 후, 설정을 원래대로 되돌리고 다시 테스트하여 변경 사항이 올바르게 되돌아왔는지 확인합니다.

5. 결론 및 마무리

  • 이 강의를 통해 Docker Compose 파일을 사용하여 환경별 설정(prod, qa)을 관리하는 방법을 학습했습니다.
  • 이를 통해 동일한 Docker 이미지를 사용하면서도 환경별로 필요한 설정을 쉽게 관리할 수 있습니다.
  • Docker Compose를 활용한 설정 관리가 정상적으로 작동함을 확인했으며, 이를 통해 다양한 환경에서의 설정 관리를 효율적으로 수행할 수 있습니다.

이 강의에서는 Docker Compose 파일을 사용하여 서로 다른 환경에서 설정을 관리하는 방법을 다루었으며, 설정 변경이 자동으로 반영되는지 테스트하는 과정을 통해 해당 설정이 올바르게 작동하는지 확인했습니다.

profile
무슨 생각하며 사니

0개의 댓글