1) 빌드
인텔리제이 오른쪽 코끼리(gradle) 아이콘 클릭 -> 프로젝트명-Tasks-build-bootJar 클릭하면 빌드 됨!
빌드 할 때 에러 발생한 내용 ▼
명령어로 빌드 했는데 아래와 같이 에러 빌드가 안됨(마우스 클릭클릭 빌드는 되는데 왜 명령어 빌드는 안되징....)
./gradlew clean build
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x4566203c) cannot access class cohttp://m.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export cohttp://m.sun.tools.javac.processing to unnamed module @0x4566203c
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 433ms
2 actionable tasks: 2 executed
에러 원인은 lombok과 java 버전이 맞지 않아서 발생하는 문제라고해서
기존 프로젝트 버전 (jdk 1.8)은 그대로 유지하고 lombok 버전을 1.18.22로 변경
implementation 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
그리고 빌드 했더니 성공!
2) Dockerfile 생성
파일 위치 : 프로젝트 루트 디렉토리에 'Dockerfile' 생성
파일 내용
FROM adoptopenjdk:8-jre-hotspot
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
- FROM: jdk 버전 JRE 이미지를 base로 함
- ARG: Gradle 빌드된 JAR 파일 위치
- COPY: Gradle 빌드된 JAR 파일을 이미지 내부로 복사
- ENTRYPOINT: 애플리케이션 실행 명령어 설정
3) 도커 이미지 빌드(생성)
현재 위치('.')에서 빌드
# 명령어
docker build {옵션(선택)} {이미지명} {경로}
-t옵션: 이미지에 이름과 태그 부여
.: 현재 경로(위치)를 나타내는 '.' 사용
4) 도커 이미지 실행
# 명령어
docker run -p {호스트 포트}:{도커 컨테이너 포트} {이미지명}
# 실제 실행 명령어
docker run -p 8080:8080 queue
도커 이미지 백그라운드 실행
# 명령
docker run {옵션} {이미지명}
# 실제 실행 명령
docker run -d -p 55714:55714 gpu2:version1
이미지 삭제
docker rmi {이미지명 또는 이미지ID}
'Docker' 카테고리의 다른 글
[Docker] NVIDIA container toolkit 설치 (nvidia-docker) (0) | 2024.01.12 |
---|---|
[Docker] 도커 이미지 docker Hub에 push/pull 하기 (1) | 2024.01.08 |
도커(docker) VS VM(Virtual Machine) 비교 (0) | 2024.01.08 |
[Docker] 맥북 m2 홈브루(homebrew)로 도커 설치 (1) | 2024.01.08 |
도커(docker)와 Github action(깃헙 액션)으로 CI/CD 구현하기 (1) | 2022.12.16 |