본문 바로가기
Web Development/Docker

SpringBoot프로젝트 도커컨테이너로로 실행하기

by doriver 2024. 6. 12.

1. 적당한 SpringBoot 프로젝트 만들기

Spring Web만 의존성 추가하고

@RestController로 간단한 텍스트만 반환하도록함

 

2. Jar파일 생성

Gradle Tasks -> 해당 프로젝트 -> build 에서 bootJar을 실행


프로젝트 폴더에 build폴더가 생성됨
build-> libs 로 가게되면 jar 파일이 하나 생김

 

3. Dockerfile 구성

jar파일 있는 libs내부에 Dockerfile만들고 작성

 

FROM bellsoft/liberica-openjdk-alpine:17
VOLUME /tmp
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

 

Gradle로 빌드한 jar파일을 
app.jar라는 이름으로 컨테이너에 추가 

컨테이너가 실행될 때
Java 애플리케이션( app.jar )을 실행하는 명령어 
가 실행되도록

 

4. docker build

CMD에서 Dockerfile있는 폴더까지 이동후

docker build -t <컨테이너 이미지 이름> .

 

5. docker run

docker run -d --name <컨테이너 이름> -p 8080:8080 <실행할 이미지 이름>

 

6. 결과 확인

Docker Desktop에서 image, container확인

브라우저에서 요청해서 응답확인

 

외부톰캣없이 내장톰캣으로 돌아감 !!

 


Dockerfile에 jar파일로 gradle build부터 시작하는것도 있었음
SpringBoot의 루트경로에 Dockerfile위치하고
난 하려다가 실패