DevOps/Kubernetes
MAC M1에서 EKS 배포 에러 (CPU ARM/AMD 문제)
Jen'_'
2022. 9. 22. 13:33
반응형
개요
MAC M1에서 docker build한 image를 eks에 배포하려고 했을 때, pod내부의 container가 실행되지 못하고 CrashLoopBackOff 가 발생했습니다.
local에서 docker run을 했을 때는 정상적으로 작동하던 container가 eks에 올릴 때는 에러가 뜨는게 이상했습니다.
위의 사진과 같이 pod log를 찍어보면 exec /bin/sh: exec format error 가 찍혔습니다.
MAC M1는 arm기반 cpu이고, 일반적으로 amazonelinux OS를 사용하는 aws ec2는 amd이기 때문에 m1에서 빌드한 이미지를 ec2에서 사용하려면 --platform linux/amd64 옵션을 사용해야한다고 합니다.
docker build -t jwt .
docker build --platform linux/amd64 -t jwt .
도커이미지의 아키텍처 확인
docker image inspect <docker_id> | grep Architecture
linux/amd64로 빌드
docker build --platform linux/amd64 -t <image_name> .
반응형