인프런 커뮤니티 질문&답변

han님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

SpringBoot 백엔드 컨테이너 구성

docker build 시 bus error가 발생합니다

해결된 질문

작성

·

152

1

Window 10 사용하고, 강의 앞부분의 gradle로 빌드 후 java -jar로 실행했을 때 실패하는 건 강의와 같지만, docker build로 이미지 빌드 시도했을 때에는 아래처럼 bus error가 발생하면서 안 됩니다. 검색해보니까 메모리 용량 관련 얘기가 많아서 .wslconfig 통해서 이리저리 조절해봐도 그대로네요... Dockerfile 내용은 강의에서의 Dockerfile과 같습니다. 문제가 뭘까요?

bash 캡처.PNG

desktop 캡처.PNG

답변 1

0

데브위키님의 프로필 이미지
데브위키
지식공유자

han 님 안녕하세요. 데브위키입니다.

이미지를 빌드할 때 gradle build 명령에서 에러가 발생하는 것으로 보입니다.

혹시 실습하시는 PC가 회사 내부와 같은 사내망에서 작업하시는 것인지요?

그리고 프론트앤드 이미지를 빌드하실 때는 문제가 없으셨는지 확인 부탁드립니다 😀

han님의 프로필 이미지
han
질문자

집에서 작업하고 있고, 프론트 db 이미지 빌드할 때에는 큰 문제 없엇습니다!

han님의 프로필 이미지
han
질문자

해결해서 글 남깁니다. 이후 강의 계속 진행하다가 캐싱 빌드 부분에서 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"]
han님의 프로필 이미지

작성한 질문수

질문하기