본문 바로가기
개발 이야기/Kubernetes

Docker Image를 Minikube 로드하기

by 농개 2024. 3. 24.

Docker Image를 Minikube로 로드 하는 과정에서 아래 에러가 발견됬습니다.

 ~ minikube image load api-exam:0.0.1

❌  Exiting due to GUEST_IMAGE_LOAD: Failed to load image: save to dir: caching images: caching image "/Users/myuserid/.minikube/cache/images/arm64/api-exam_0.0.1": write: unable to calculate manifest: blob sha256:00fd5b12683afed295344689d9cd313043ecd10a660da04f9c48484e10095a09 not found

 

GUEST_IMAGE_LOAD: Failed to load image: save to dir 블라블라...

먼지 모르겠는 에러가 뜹니다.

이 때, 다른 방법으로 해결 할 수 있습니다.

출처: https://github.com/kubernetes/minikube/issues/18021

즉, 터미널에서 minikube와 docker 환경 연결(?) 해주고

docker image를 다시 빌드하는 것입니다.

조금 번거롭습니다.🤥

 

1. minikube 이미지 확인

 ~ minikube image ls --format table                                                                                                                    ✔  11s
|----------------------------------------------------|---------------|---------------|--------|
|                       Image                        |      Tag      |   Image ID    |  Size  |
|----------------------------------------------------|---------------|---------------|--------|
| registry.k8s.io/pause                              | 3.9           | 829e9de338bd5 | 514kB  |
| docker.io/library/springboot-exam                  | 0.0.1         | ce083651134dd | 526MB  |
| quay.io/argoproj/argocd                            | v2.10.2       | 40f3d2eb97061 | 428MB  |
| registry.k8s.io/ingress-nginx/controller           | <none>        | f065bfef03d73 | 274MB  |
...(중략)

minibkue image ls 커맨드를 통해 쿠버네티스 클러스터에서 pull 가능한 컨테이너 이미지 목록을 확인 할 수 있습니다.

 

2. 에러메시지 확인

 ~ minikube image load api-exam:0.0.1

❌  Exiting due to GUEST_IMAGE_LOAD: Failed to load image: save to dir: caching images: caching image "/Users/myuserid/.minikube/cache/images/arm64/api-exam_0.0.1": write: unable to calculate manifest: blob sha256:00fd5b12683afed295344689d9cd313043ecd10a660da04f9c48484e10095a09 not found

미리 만들어진 docker image를  load 해보니 위 같이 에러가 뜹니다.

arm64...?

macbook m2라서 그런건가...?

 

 

3. tar 파일로 저장 후 재시도

 ~ docker image save -o image.tar api-exam:0.0.2
 ~ minikube image load image.tar

위와 같이 로드하고자 하는 이미지를 image.tar 로 로컬에 저장하고

해당 파일을 로드하면 정상적으로 실행 가능합니다.

 

출처: https://github.com/kubernetes/minikube/issues/18021