intellij 우측 상단의 gradle 에서 assemble을 하면 아래와 같이 build/libs에 jar파일이 생성됩니다.
주의할점
COPY와 ENTRYPOINT의 파일명을 생성된 파일명과 일치해야 합니다.
FROM gradle:7.4-jdk11-alpine as builder
WORKDIR /build
# 그래들 파일이 변경되었을 때만 새롭게 의존패키지 다운로드 받게함.
COPY build.gradle settings.gradle /build/
RUN gradle build -x test --parallel --continue > /dev/null 2>&1 || true
COPY . /build
RUN gradle build -x test --parallel
# APP
FROM openjdk:11.0-slim
WORKDIR /app
# 빌더 이미지에서 jar 파일만 복사
COPY --from=builder /build/build/libs/bbs3-0.0.1-SNAPSHOT.jar .
EXPOSE 8080
# root 대신 nobody 권한으로 실행
USER nobody
ENTRYPOINT [ \
"java", \
"-jar", \
"-Djava.security.egd=file:/dev/./urandom", \
"-Dsun.net.inetaddr.ttl=0", \
"bbs3-0.0.1-SNAPSHOT.jar" \
]
docker build -t <image name> .
//기존 컨테이너 내리기
docker stop <container_id>
//새로 run 하기
docker run -p 8080:8080 -e SPRING... PSWD=1234 -d <container_id>
https://engineer-mole.tistory.com/256
docker system prune
//용량확인
docker system df
docker container prune
docker image prune -a