강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kimjinjuind2989
kimjinjuind2989

câu hỏi đã được viết

Triển khai server vận hành Spring sử dụng EKS (feat. mọi thứ về DevOps)

Tạo tài nguyên Kubernetes

24강에서 depl_svc.yml 질문 있습니다.

Đã giải quyết

Viết

·

37

1

depl_svc.yml을 apply 했는데 계속 pod이 CrashLoopBackOff 상태가 되어서 log를 확인해보려 했더니 exec format error가 뜹니다.

image.png

현재 맥북(M2)을 사용중인데 exec format error 이 오류는 CPU 아키텍처 불일치 문제 때문이라고 하는데 어떻게 해결해야 할까요?

awsdockerkubernetesgithub-actionsargocd

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. kimjinjuind님.

CrashLoopBackOffexec format error가 동시에 발생하는 것은 주로 CPU 아키텍처 불일치 문제에서 기인합니다. M1, M2처럼 ARM 기반의 맥북에서 Docker 이미지를 빌드할 때 나타나는 일반적인 문제인데요, 이는 Docker 이미지가 Linux 기반의 x86_64 아키텍처용으로 빌드되어 해당 환경에서 실행되지 않기 때문입니다.

이를 해결하기 위해 다음 단계를 시도해보세요:

  1. 이미지 빌드 시 사용된 아키텍처 설정 확인:
    이미지를 빌드할 때, Dockerfile 내에 명시적으로 아키텍처를 설정해 주어야 합니다. 이를 위해 multi-platform 이미지를 지원하는 Docker Buildx를 활용하면 도움됩니다.

  2. Docker Buildx 사용:
    Docker Buildx는 다양한 아키텍처에 대한 이미지 빌드를 지원합니다. 명령어는 아래와 같습니다:

    docker buildx create --name mybuilder
    docker buildx use mybuilder
    docker buildx build --platform linux/amd64,linux/arm64 -t your-image-name .
    

    이 명령어는 x86_64와 ARM64를 모두 지원하는 이미지를 빌드합니다.

  3. Docker Desktop 설정 확인:
    Docker Desktop에서 experimental features를 활성화하여 Buildx를 사용할 수 있도록 설정할 수도 있습니다. Docker Desktop에서 Preferences > Experimental Features로 가셔서 관련 설정을 체크하세요.

이러한 방법으로 문제를 해결할 수 있기를 바랍니다. 관련 상세한 단계에 대한 공식 문서는 Docker 공식 문서 - Build multi-platform images에서 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kimjinjuind님의 프로필 이미지
kimjinjuind
Người đặt câu hỏi

해결했습니다. 감사합니당 AI 인턴~~

Hình ảnh hồ sơ của kimjinjuind2989
kimjinjuind2989

câu hỏi đã được viết

Đặt câu hỏi