반응형
개요
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> .
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
K8S에서 Kong API Gateway 사용하기 (0) | 2022.10.07 |
---|---|
K8S에 Kong API Gateway 설치 하는 방법 (Helm Charts) (0) | 2022.10.07 |
Secret Manager를 사용해서 K8S Secret 관리하기 (0) | 2022.09.15 |
[EKS] Kubernetes Ingress 설치 및 옵션 정리 (2) | 2022.08.19 |
[k8s] Resource + Autoscaler (CA, HPA) 개념 정리 (0) | 2022.07.18 |