본문 바로가기
개발공부/JAVA Spring

[springboot] jar 파일 생성 및 도커 파일 작성하기

by bzerome240 2022. 12. 17.

 

 

build.gradle에서 jar 파일 이름 변경

 

bootJar {
  archiveFileName = 'app.jar'
}

 

 

gradle wrapper를 이용한 jar 파일 생성

 

#window
$ gradlew build
#linux
$ ./gradlew build

기본 경로는 프로젝트의 build/libs/*.jar

 

 

트러블 슈팅

 

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> invalid source release: 11

 

모든 설정관련해서 jdk 를 11버전으로 맞췄는데..도 안돼서 찾다가

//sourceCompatibility = '11'

해당 라인을 주석처리했더니 성공!

 

 

 

build 지우고싶을 때

 

$ ./gradlew clean

 

 

app 도커파일

 

FROM openjdk:11
ARG JAR_FILE=build/libs/app.jar
COPY ${JAR_FILE} ./app.jar
COPY pharmacy.csv ./
ENV TZ=Asia/Seoul
ENTRYPOINT ["java","-jar","./app.jar"]

 

dockerfile을 도커 이미지로 빌드하기

$ docker build -t zerome240/sch-pharm .

$ docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
zerome240/sch-pharm   latest    12cb626ec7d7   8 seconds ago   672MB

 

 

docker run 명령어를 통해 만든 이미지로 컨테이너 실행하기

 

-p: 호스트와 컨테이너 port 포워딩 처리

$ docker run zerome240/sch-pharm -p 8080:8080

$ docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS     NAMES
0b014d9d3f2f   zerome240/sch-pharm   "java -jar ./app.jar…"   2 minutes ago   Up 2 minutes             jolly_wu

 

 

기타 도커 명령어

 

$ docker ps -a

$ docker exec -it [컨테이너 이름/id] bash
$ docker stop [컨테이너 이름/id] bash
$ docker inspect [컨테이너 이름/id] bash

$ docker login
$ docker images
$ docker push [docker hub id]/[이미지 이름:태그]

 

 

 

728x90
반응형

댓글