
저번 React 프로젝트 Docker 배포 실습을 해보았는데,
이번에는 Spring Boot 프로젝트를 배포하는 실습을 진행했다.
1. Spring Boot 프로젝트 생성 및 실행
아래 사이트에서 Spring Boot 프로젝트에 대한 기본적인 세팅들을 쉽게 설정할 수 있다.

이렇게 설정한 뒤 하단의 Generate를 누르면 프로젝트가 다운받아진다.
압축을 풀어 IntelliJ에서 해당 프로젝트를 연 뒤,
메인 파일을 실행시켜 localhost:8080에 접속이 되는지 확인해 본다.


이런 페이지가 뜨면 성공이다.
2. JAR 파일 생성
Spring Boot 프로젝트를 배포하기 위해서는 JAR 파일이 필요하다.

JAR 파일?
- 자바 애플리케이션을 실행하기 위해 하나의 파일로 압축한 파일 형식
- 배포용 소프트웨어 패키지 파일 포맷
- 자바 코드의 편리한 컨테이너 역할
- zip과 동일한 방식으로 압축
- 단일 파일에 코드를 저장
- 확장자 : .jar
JAR 파일 생성 방법
bootJar 명령어를 실행하여 생성할 수 있다.
bootJar ?
- Spring Boot 프로젝트를 빌드하여 jar 파일을 생성
- 프로젝트에서 사용되는 모든 의존성을 포함하여 jar 파일을 생성
- bootJar을 이용하여 쉽게 프로젝트를 배포할 수 있음

IntelliJ에서 우측의 Gradle 탭을 열어,
프로젝트 > Tasks > build > bootJar을 클릭해 실행한다.

이런 식으로 터미널에서 bootJar 명령어를 실행한 것을 볼 수 있다.
jar 파일은 프로젝트 > build > libs 안에 생성된다.

3. Dockerfile 생성
프로젝트의 루트 디렉토리에 Dockerfile을 생성한다.

루트 디렉토리가 헷갈린다면 프로젝트를 우클릭 한 뒤 New 탭 안의 Dockerfile을 클릭해도 된다.
Dockerfile을 아래 코드와 같이 작성하고,

파일이 올바른 위치에 있는지, 작성은 잘했는지 검토한다.
FROM openjdk:17
ARG JAR_FILE=build/libs/\*-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
FROM openjdk:17 | FROM 명령어로 자바 실행 이미지를 지정 |
ARG JAR_FILE=build/libs/\*-SNAPSHOT.jar | ARG 명렁어로 JAR_FILE 환경 변수 정의 |
COPY ${JAR_FILE} app.jar | COPY 명령어로 JAR_FILE에 지정된 파일을 컨테이너로 복사 |
ENTRYPOINT ["java","-jar","/app.jar"] | 컨테이너가 시작되면 jar 파일 실행 |
docker build -t my-spring-boot-app . 명령어로 이미지를 빌드,
docker run --name spring-boot-project -p 8080:8080 -d my-spring-boot-app 명령어로 컨테이너를 실행하면




완성이다.
설정한 8080 포트로 접속했을 때

이렇게 화면이 보이면 배포가 된 것이다.
'Docker' 카테고리의 다른 글
[Docker] Docker 배포_Node.js 프로젝트 (코딩온) (0) | 2024.01.04 |
---|---|
[Docker] Docker 배포_React 프로젝트 (코딩온) (1) | 2023.12.30 |
[Docker] Dockerfile에 대해 (코딩온) (1) | 2023.12.28 |
[Docker] Docker 설치 및 컨테이너 실행 (코딩온) (0) | 2023.12.26 |
[Docker] Docker Desktop - Unexpected WSL error 및 해결 (코딩온) (0) | 2023.12.24 |