본문 바로가기
dev-ops

Docker를 이용한 Spring 프로젝트 배포

by 쭈꾸마뇽 2021. 9. 13.

일반적으로 프로젝트를 실행할 대 jar파일로 실행하거나 ide가 재공하는 기능을 사용한다.  클라우드 환경에 배포를 할 경우 jar파일로 배포를 보통 해왔는데 이번에는 Dockerfile을 이용해서 배포를 해보았다.  예제는 개인 window 컴퓨터에서 진행했으며 클라우드(Linux) 환경에 배포할 때도 GUI에서 CLI환경으로 바뀌는 것 외에는 차이가 없으니 그냥 진행하겠다.

Build

먼저 만들어진 프로젝트를 빌드를 해야한다.

./gradlew build

build를 하게 되면 프로젝트의 build 폴더에 jar파일이 생성된다.

Dockerfile

빌드가 완료됬으면 Dockerfile을 만들어줘야한다.  생성한 프로젝트의 Dockerfile을 생성해주자.  파일 이름은 정확히 Dockerfile 이여야 한다.

안에 내용음 다음과 같이 채워준다

FROM openjdk:11

EXPOSE 8080

ADD build/libs/BarkingCat-0.0.1-SNAPSHOT.jar app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

이렇게 작성하면 자바 11버전과 포트번호 8080을 사용하며 생성된 jar파일을 카피하여 app.jar로 만들어 준다음 우리가 일반적으로 jar파일로 프로젝트를 빌드하는 것처럼 ENTRYPOINT에 작성하여 jar파일을 실행한다..

 Dockerfile Build

그다음 Dockerfile을 빌드해줘야 한다.  터미널에 Dockerfile이 있는 위치에서 다음 명령어를 써주면 Dockerfile이 빌드된다.

docker build -t app .

맨 뒤에 . 도 써줘야 정상적으로 빌드된다.

이렇게 Dockerfile을 빌드하고 나면 Docker 이미지가 생성된다.

실행

실행은 생성된 Docker 이미지를 실행시켜 주면 된다.

docker run -p 8080:8080 app

위 명령어를 사용하면 정상적으로 프로젝트가 실행된다.

'dev-ops' 카테고리의 다른 글

Kafka 설치하기 (Mac)  (0) 2021.12.04
Github Action을 이용한 CI/CD  (0) 2021.09.14

댓글