Spring Boot Docker로 배포하기

Moseoh·2022년 4월 23일
0
post-thumbnail

1. Spring Boot 패키지 루트 경로에 Dockerfile 파일 생성

Dockerfile:

FROM openjdk:11
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
# ENTRYPOINT ["java","-jar","/app.jar"]
# 설정파일을 분리해서 사용할 때
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=dev","/app.jar"]
# java -jar -Dspring.profiles.active=prod app.jar

2. 빌드

# Spring Boot 빌드
./gradlew build -x test

3-1. 이미지 생성

# gradle linux/amd64 옵션은 맥북 M1을 위한 옵션
docker build --build-arg DEPENDENCY=build/dependency -t 도커허브 ID/Repository --platform linux/amd64 .

# maven
docker build -t 도커허브 ID/Repository --platform linux/amd64 .

# 확인
docker images

3-2.

Spring Boot 2.3.x 버전 이상인 경우 Dockerfile 작성 없이 Plugin으로 이미지 생성이 가능하다.

# yml, properties를 여러개 사용하는 경우 profile을 지정하여 image를 생성한다.
SPRING_PROFILES_ACTIVE=dev ./gradlew bootBuildImage -Pprofile=dev --imageName=ID/Repository

4. Docker 업로드

# 로그인
docker login

# 업로드
docker push ID/Repository

5. 서버 배포

# 업로드한 이미지 다운로드
docker pull ID/Repository
profile
슬기로운 탐구생활

0개의 댓글