문제.
> application/vnd.oci.image.index.v1+json
문제는 MacOS에서 발생했습니다.
(Docker 버전은 27.3.1.)
application/vnd.oci.image.index.v1+json
AWS ECR에 이미지를 올려 사용하려고 할때,
해당 OCI v1 media type 이미지를 사용할 수 없다고 하는 문제에 봉착했습니다.
ECR 이미지 스캔을 확인해면 아래와 같습니다.

ECR Push시에 이미지 형태입니다.

OCI이미지 포맷이라 index와 레이어구조 파일이 분리된 형태인건지.
aws docs에서 확인해보면
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/image-manifest-formats.html
Amazon에서 컨테이너 이미지 매니페스트 형식 지원 ECR - Amazon ECR
이미지를 다이제스트로 가져오는 경우, 사용할 수 있는 변환이 없습니다. 클라이언트는 Amazon 에 저장된 이미지 매니페스트 형식을 이해해야 합니다ECR. 사용자가 Docker 1.9 이하 클라이언트에서
docs.aws.amazon.com

지원 image가 위와 같이 나오기는 하네요.
media type을 변경해주면 해결 될 문제인지 확인해보겠습니다.
해결
1. media type 변경
docker image를 linux/arm64 플랫폼 형태로 build 하고
1. docker build --platform linux/arm64 -t <이미지_이름>:<태그> .
skopeo를 설치해줍니다.
skopeo는 이미지 저장소 간에 직접 이미지 복사, 검사, 삭제, 태그 작업 등을 수행하는 라이브러리입니다.
skopeo를 이용해 이미지 내의 media-type format을 변경할 것입니다.
brew install skopeo
aws 로그인을 해주고
aws ecr get-login-password --region <aws region> | skopeo login --username AWS --password-stdin <ecr저장소 url>
예시) aws ecr get-login-password --region ap-northeast-2 | skopeo login --username AWS --password-stdin 292261841111.dkr.ecr.ap-northeast-2.amazonaws.com
skopeo를 이용해서 이미지 format을 v2s2로 변경해서 ECR에 이미지를 push해줍니다.
skopeo copy --format v2s2 docker-daemon:<docker name>:<tag> docker://<aws ecr repogitory url>
예시 )skopeo copy --format v2s2 docker-daemon:synchro-you:latest docker://292261841111.dkr.ecr.ap-northeast-2.amazonaws.com/nipa-model:latest
확인을 해보면 Image만 올라온 것을 확인할 수 있습니다.
ECR의 repogitory 를 들어가 아티팩트 유형을 눌러서 확인해보면 media-type이 변경된 것을 확인할 수 있을거에요.

저는 해당 방식으로 media-type을 변경해서 문제가 잘 해결했습니다.
이 포스팅을 보시는 해당 이슈에 봉착하신 분들이 있으시다면
한번 해당 방식을 시도해보시기를 바랍니다.
'인공지능 개발하기 > Backend' 카테고리의 다른 글
| [Python 이슈] Python multiprocessing 구현 시 ModuleNotFoundError 발생 (0) | 2024.11.17 |
|---|---|
| [Docker] 7. Docker Hub에 이미지 push/ pull 하기 (0) | 2024.10.15 |
| [Docker] 6. 컨테이너에 이름 지정하기 & 이미지에 이름, 태그 지정하기 (0) | 2024.10.15 |
| [Docker] 5. 이미지 구조 살펴보기 (0) | 2024.10.15 |
| [Docker] 4. 컨테이너 시작, 재시작, 중지, 제거하기 / 이미지 제거하기 (0) | 2024.10.14 |