자바(Java) & 인텔리제이

인텔리제이(IntelliJ) & 스프링(Spring boot) & 도커(Docker) 연동 / 최종 / 공식문서기준 / 아과노트

아과노트 2023. 4. 4. 18:03
728x90
반응형

안녕하세요, 

아과노트 입니다!

 

오늘은 지난 시간에 열심히 구축해 두었던 인텔리제이와 도커 연동에서

실질적으로 스프링(Spring boot) 프로젝트에서 도커로 배포하여 실행하는것 까지

연동해 보도록 하겠습니다.

 

 

오늘 포스팅은 이전 포스팅에 이어서 진행됩니다.

 

2023.03.31 - [자바(Java) & 인텔리제이] - 인텔리제이(IntelliJ) & 도커 개발환경 연동 / 공식문서기준 / 아과노트

 

인텔리제이(IntelliJ) & 도커 개발환경 연동 / 공식문서기준 / 아과노트

안녕하세요 아과노트입니다. 최근에 개발환경에서부터 도커와 연동하여 개발을 진행하는 것이 트렌드가 되어가고 있는 것 같습니다. 그래서 오늘은 인텔리제이(IntelliJ)에서 도커(Docker)를 연동

alphalok.tistory.com

 

아직 인텔리제이와 도커 연동이 안된 분은 위의 포스팅을 먼저 진행해 주세요.

 

그럼 시작해 보도록 하겠습니다.

인텔리제이(IntelliJ)에서 스프링(Spring boot) 프로젝트와 도커 배포 연동은 다음의 순서대로 이루어 집니다.

 

  1. jar파일 준비
  2. Dockerfile 작성
  3. Docker image 만들기
  4. 인텔리제이의 Docker에 Docker image 배포

 

그럼 오늘도 시작해 보겠습니다.

 

1. jar파일 준비

 

먼저 Spring boot 프로젝트의 jar 파일을 준비합니다.

기본적으로 gradle을 배포하면 build/libs/프로젝트명.jar 의 위치에 존재하게 됩니다.

 

2. Dockerfile 작성

Project의 최상단에 Dockerfile을 만듭니다.

 

새로운 파일 생성
새로운 파일 생성

다음처럼 프로젝트 명에서 오른쪽 클릭 후  New > File을 선택합니다.

다음과 같이 New File 팝업이 뜨면 Dockerfile이라고 입력합니다.

Dockerfile 생성
Dockerfile 생성

그러면 프로젝트에서 Dockerfile이 생성된 것을 볼 수 있습니다.

 

Dockerfile 생성확인
Dockerfile 생성확인

여기에 다음과 같이 Dockerfile을 작성해 보겠습니다.

 

최대한 핵심만 심플하게 담아 Dockerfile을 만들었습니다.

FROM eclipse-temurin:17-jdk-alpine
ADD ./build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

 

3. Docker image 만들기

Dockerfile을 만들었으니 이제 Docker 이미지(image)를 빌드해 봅시다.

 

인텔리제이에서 하단의 Terminal을 클릭합니다.

 

프로젝트 경로에 잘 들어가 있는지 확인 후에 다음과 같이 이미지 빌드 명령어를 입력해 주세요

 

docker build -t 이미지명:Tag .

예를 들면 다음과 같습니다.

 

docker build -t agwanote-api:1.0.0 .

 

다음 처럼 뜨면 완료입니다.

도커 이미지 빌드
도커 이미지 빌드

 

4. 인텔리제이의 Docker에 Docker image 배포

 

이제 인텔리제이의 하단의 Services탭을 눌러보겠습니다.

 

그럼 설정한 Docker가 나오는데 우리가 빌드한 이미지도 images에 보입니다.

도커 이미지 확인
도커 이미지 확인

 

이제 이 이미지로 컨테이너를 만들어 보겠습니다.

이미지에서 오른쪽 클릭후 Create Container를 클릭합니다.

 

컨테이너 생성
컨테이너 생성

 

그러면 다음과 같이 도커환경설정 창이 뜹니다.

 

컨테이너 설정
컨테이너 설정

 

여기서는 먼저  Name을 입력하고 도커의 포트(port)를 바인드해보겠습니다.

Modify options를 클릭 후 Bind ports를 클릭합니다.

 

도커 컨테이너 포트 바인드
도커 컨테이너 포트 바인드

 

그러면 다음과 같이 Bind ports라는 항목이 나옵니다.

포트설정
포트설정

 

그리고 오른쪽 폴더를 눌러주세요.

 

그러면 다음처럼 Port Bindings가 나옵니다. 여기서 포트를 바인딩 해줍니다.

 

바인드 포트설정
바인드 포트설정

톰캣은 기본적으로 8080을 쓰기 때문에 Host port와 Container port모두 8080으로 설정했습니다.

 

OK를 누르면 다음처럼 셋팅이 됩니다.

 

도커 컨테이너셋팅 최종
도커 컨테이너셋팅 최종

 

이제 run을 누릅니다!

 

그러면 다음처럼 컨테이너가 실행됩니다. 

배포완료
배포완료

 

실제 동작은 여러분들이 작성한 코드나 페이지를 실행해 보세요.

 

여기까지 완료되었으면

인텔리제이에서 여러분의 Spring 프로젝트를 도커를 이용해서 배포까지 한 것입니다.

축하드립니다!

 

오늘은 여기까지 입니다.

 

고생하셨습니다.

728x90
반응형