Spring Cloud로 개발하는 MSA/애플리케이션 배포 - DockerContainer

Configuration Service

webmaster 2022. 2. 13. 14:19
728x90
  • Dockerfile
    • 도커 이미지 파일을 만들어야 한다
    • FROM openjdk:17-ea-11-jdk-slim
      VOLUME /tmp
      COPY apiEncryptionKey.jks apiEncryptionKey.jks
      COPY target/config-service-1.0.jar ConfigService.jar
      ENTRYPOINT ["java", "-jar", "ConfigService.jar"]​

      • FROM : Base가 될 이미지 선택
      • COPY : configurerService에는 암호화를 시켜주는 파일이 필요하므로 해당 파일을 복사하기 위해 copy키워드를 사용하여 컨테이너에 복사해 준다.
  • key 파일 위치 변경
    • 현재 컨테이너 위치를 기준으로 변경해 주어야 한다.
    • dockerfile, apiEncryptionKey.jks 파일 이동
    • 이미지 build
      • docker 이미지를 빌드한다
    • docker cotainer Run
      • application.yml에 적혀있는 rabbitmq ip를 수정해야 한다.
      • docker run -d -p 8888:8888 --network ecommerce-network \
        	-e "spring.rabbitmq.host=rabbitmq" \
            -e "spring.profiles.active=default" \
            --name config-service widn45/config-server:1.0
      • 현재 docker에 지정한 IP를 직접 변경하여도 되지만 container를 실행할 때 옵션을 주어 변경해서 실행하여도 된다(코드를 수정 할 필요 없이 도커에 실행할 수 있다)
      • container를 실행할 때 환경변수로 rabbitmq.host를 현재 컨테이너에 기동 중인 rabbitmq(컨테이너 이름)을 사용한다
    • bootstarp.yml 파일 수정
      • 더 이상 내 로컬 파일 기준이 아닌 Container를 기준으로 해주어야 한다.
      • location 변경
    • application.yml
      • 더이상 로컬 파일의 기준으로 설정 파일을 읽어오는것이 아닌 GitHub를 통해 설정파일을 읽어온다(암호화된 파일) 
      • application Config정보 읽어오는 경로 변경(git)

 

728x90

'Spring Cloud로 개발하는 MSA > 애플리케이션 배포 - DockerContainer' 카테고리의 다른 글

MariaDB  (0) 2022.02.13
Apigateway Service  (0) 2022.02.13
Discovery Service  (0) 2022.02.13
RabbitMQ  (0) 2022.02.13
애플리케이션 배포 구성  (0) 2022.02.13