• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

도커 이미지에 대해

21.04.12 23:32 작성 조회수 86

1

안녕하세요.

하나의 예를들면

Springboot에서 구현한 웹애플리케이션을 jar로 말고

그 웹애플리케이션에 대한  환경설정과 같은 것과 같이 DockerFile로 만들고 이 DockerImage를 제킨스 CI에 전달하면 제킨스가 배포를 해준다.

또는 Springboot에서 구현한 웹애플리케이션을 Jar로 말고 여기에 대한 설정 DockerFile를 DockerImage로 만들어서  Docker Repositroy에 있는 환경에 대한 Image를 pull로 갖고와서 두개의  Image를 하나의 Image로 만들고 젠킨스 CI에 보내면.. 이제 이걸 run시켜서 컨테이너로 만든다. 이렇게 이해해도 괜찮을까요.

질문이 너무 애매모호하죠? ㅠ______ㅠ 

Springboot에서 만든 WebApplication을 Docekr File로 Image를 만들고 그 컨테이너를 만드는 과정이 너무나도 헷갈립니다. 

답변 1

답변을 작성해보세요.

1

안녕하세요!

웹 프로그램을 빌드하고 배포하는 과정은 크게 다음과 같습니다.

1. 코드를 작성한다.

2. 도커 이미지를 빌드한다.

3. 빌드한 도커 이미지를 이미지 저장소(레지스트리)에 푸시한다.

4. 배포할 서버에서 해당 이미지 저장소에서 실행할 이미지를 pull하고 컨테이너를 실행한다.

이를, Spring Boot에 대응하면 

1. Spring Boot를 이용한 코드를 작성한다.

2. 도커 이미지를 빌드한다. 이 도커 이미지를 이용하면 온전히 웹 애플리케이션을 실행할 수 있어야 하므로 jar파일이 포함되어 있어야 하고 설정파일이 필요할 수 있다. 설정파일 대신 환경변수를 사용할 수 도 있다.

3. 빌드한 도커 이미지를 docker hub나 별도의 레지스트리에 push한다.

4. 웹 애플리케이션을 실행할 서버에서 docker 이미지를 pull 받고 실행(run)한다. 실행할땐, 환경변수가 필요할 수 있다.

위 과정은 docker build, docker push, docker run 등의 명령어를 이용하는데 젠킨스 CI의 역할은 해당 명령어를 대신 실행하는것 뿐입니다.

추가로 궁금한점 있으면 문의주세요! 감사합니다.