해결된 질문
작성
·
172
1
Window 10 사용하고, 강의 앞부분의 gradle로 빌드 후 java -jar로 실행했을 때 실패하는 건 강의와 같지만, docker build로 이미지 빌드 시도했을 때에는 아래처럼 bus error가 발생하면서 안 됩니다. 검색해보니까 메모리 용량 관련 얘기가 많아서 .wslconfig 통해서 이리저리 조절해봐도 그대로네요... Dockerfile 내용은 강의에서의 Dockerfile과 같습니다. 문제가 뭘까요?
답변 1
0
han 님 안녕하세요. 데브위키입니다.
이미지를 빌드할 때 gradle build 명령에서 에러가 발생하는 것으로 보입니다.
혹시 실습하시는 PC가 회사 내부와 같은 사내망에서 작업하시는 것인지요?
그리고 프론트앤드 이미지를 빌드하실 때는 문제가 없으셨는지 확인 부탁드립니다 😀
해결해서 글 남깁니다. 이후 강의 계속 진행하다가 캐싱 빌드 부분에서 RUN gradle dependencies --no-daemon 부분에서도 bus error가 발생해서 gradle 문제인가 싶어서 FROM gradle의 jdk11을 jdk17로 바꾸니까 잘 되네요 아래 런타임 이미지에서 24-jdk-slim으로 작성하긴 했는데 11-jre-slim으로 해도 전부 빌드랑 실행에 문제없엇습니다~
# 빌드 이미지로 OpenJDK 11 & Gradle을 지정
# 기존 FROM gradle:7.6.1-jdk11 AS build
FROM gradle:7.6.1-jdk17 AS build
# 소스코드를 복사할 작업 디렉토리를 생성
WORKDIR /app
# 라이브러리 설치 필요한 파일 복사
COPY build.gradle settings.gradle ./
# library 설치
RUN gradle dependencies --no-daemon
# 호스트 머신의 소스코드를 작업 디렉토리로 복사
COPY . /app
# Gradle 빌드를 실행하여 JAR 파일 생성
RUN gradle clean build --no-daemon
# 런타임 이미지로 OpenJDK 11 JRE-slim 지정
# 기존 openjdk:11-jre-slim,
# 변경 openjdk:24-jdk-slim
FROM openjdk:24-jdk-slim
# 애플리케이션을 실행할 작업 디렉토리를 생성
WORKDIR /app
# 빌드 이미지에서 생성된 JAR 파일을 런타임 이미지로 복사
COPY --from=build /app/build/libs/*.jar /app/leafy.jar
EXPOSE 8080
ENTRYPOINT ["java"]
CMD ["-jar", "leafy.jar"]
집에서 작업하고 있고, 프론트 db 이미지 빌드할 때에는 큰 문제 없엇습니다!