728x90
반응형

1. Docker를 설치한다.

https://typo.tistory.com/entry/Docker-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0?category=896128 

 

Docker | 시작하기

1. Docker 란?  Docker란 컨테이너를 생성하고 관리하기 위한 도구이다. 여기서 컨테이너란 표준화된 소프트웨어 유닛을 말한다. 기본적으로 해당 코드를 실행하는데 필요한 종속성과 도구가 포함

typo.tistory.com

 

2. Spring Boot 프로젝트를 만든다.

https://start.spring.io/

 

3. IntelliJ에서 열고 Docker plugin을 설치한다.

 

4. 프로젝트 루트 경로에 Dockerfile을 생성한다.

/Dockerfile

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

 

5. 아래 명령어로 빌드를 해준다.

./gradlew build -x test

 

6. Dockerhub Repository 생성

 

7. 이미지 생성

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

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

 

※ 아닐 경우

# 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

 

8. 업로드

# 로그인
docker login

# 업로드
docker push ID/Repository

 

728x90
반응형

+ Recent posts