728x90
반응형
1. Docker를 설치한다.
https://typo.tistory.com/entry/Docker-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0?category=896128
2. Spring Boot 프로젝트를 만든다.
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
반응형
'DevOps > Docker' 카테고리의 다른 글
Docker | Spring Boot, Next.js 배포 | Next.js 배포하기 (0) | 2022.11.03 |
---|---|
Docker | Spring Boot, Next.js 배포 | Spring boot 배포하기 (0) | 2022.11.03 |
Docker | Docker-Compose (4) | 2022.06.14 |
Docker | Network, MongoDB, Node.js, React.js 도커화 명령어 (0) | 2022.06.14 |
Docker | 데이터 관리 및 볼륨으로 작업하기 (0) | 2022.06.02 |