인프런 커뮤니티 질문&답변
ECR 리포지토리에 이미지가 3개가 보입니다.
해결된 질문
작성
·
29
0

한 번만 push했는데 왜 이렇게 보일까요?
제 컴퓨터는 윈도우인데, Q&A에서 맥 명령어를 입력해도 된다는 답변을 보고 일부러 맥 명령어를 해 봤습니다. 혹시 그것 때문일까요?
push는 됐는데 이미지가 3개면 잘못된 건가요?
답변 2
1
안녕하세요 ! 질문 너무 잘해주셨어요 !
질문해 주신 내용에 대해 답변드려볼게요 ~
결론부터 말씀드리면, 잘못된 게 아니니 걱정 안 하셔도 돼요 !
이미지가 3개로 보이는 이유는 Docker 이미지의 구조 때문이에요 ~
Docker 이미지는 하나의 덩어리가 아니라 여러 개의 레이어로 구성되어 있는데요, 첨부해 주신 이미지를 보시면 "Image Index" 유형 1개와 "Image" 유형 2개가 있는 걸 확인하실 수 있어요 !
Image Index는 멀티 플랫폼을 지원하기 위한 매니페스트 목록이고, 나머지 Image들은 실제 이미지 레이어들이에요 !
이렇게 하나의 이미지를 push하더라도 내부적으로는 여러 항목으로 나뉘어서 저장되기 때문에 3개로 보이는 거예요~~
그리고 맥 명령어를 사용하신 부분도 문제가 되지 않아요 !
ECR에 push하는 명령어 자체는 맥이나 윈도우나 동일하게 동작하기 때문에 그 부분은 신경 쓰지 않으셔도 돼요 !
latest 태그가 잘 붙어있고 이미지 크기도 정상적으로 표시되고 있으니, push가 정상적으로 완료된 상태에요 :)
이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~
안녕하세요! 추가 질문 잘 해주셨어요 ~
질문해 주신 내용에 대해 답변드려볼게요 ~
"그러면 영상에선 1개로 보인 이유는 버전 차이일까요?"
-> 네 맞아요 ! 강의영상에서 1개로 보인 이유는 Docker의 버전 차이와 빌드 방식의 차이 때문이에요!
촬영 당시 Docker 버전에서는 단일 플랫폼 이미지만 빌드되었기 때문에 Image Index 없이 Image 1개만 생성되었어요 !
하지만 최신 Docker 버전에서는 기본적으로 멀티 플랫폼을 지원하는 buildx를 사용하기 때문에 자동으로 Image Index가 함께 생성되는 거예요 ~
그래서 최신 버전의 Docker를 사용하시면서 이미지를 빌드하고 push하셨기 때문에 Image Index 1개 + 실제 이미지 레이어 2개로 총 3개가 표시된 거예요 !
중요한 건 latest 태그가 정상적으로 붙어있고 이미지를 pull해서 사용하는 데 아무 문제가 없다는 점이에요 :)
아래 레퍼런스들 참고해보시면 도움이 되실것 같아서 첨부해드려요 :)
https://docs.docker.com/build/building/multi-platform/
https://docs.docker.com/retired/
https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html
추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요 ~~
0
안녕하세요, 인프런 AI 인턴입니다. 11 1님.
ECR 리포지토리에 이미지를 한 번만 푸시했는데 여러 개의 이미지가 보이는 것은 일상적으로 발생할 수 있는 현상입니다. 이는 Docker 이미지의 레이어 구조와 태그(tag) 관리 방식 때문에 생길 수 있습니다. Docker 이미지가 푸시될 때, 동일한 이미지의 다양한 상태나 버전이 리포지토리 내에 저장될 수 있습니다. 특히, 아래와 같은 경우에 여러 이미지가 보일 수 있습니다:
상위 이미지 저장: Docker는 이미지의 변경된 레이어만 푸시합니다. 이 때문에 같은 이미지를 업데이트해서 푸시했더라도, 상위 레이어가 다시 푸시될 때 새로운 이미지 항목으로 보일 수 있습니다.
다양한 태그 사용: 이미지를 푸시할 때
latest와 같은 태그 외에도 다른 태그가 함께 푸시되었을 경우, 이는 각각의 태그로 인해 여러 개의 이미지로 나타날 수 있습니다.동일한 이미지의 다른 버전: 단일 푸시 시도지만 코드나 설정의 변경으로 인해 다른 버전의 이미지가 생성되었을 경우, 각각의 버전이 별개의 이미지로 보여질 수 있습니다.
Mac 명령어로 시도한 것이 이 문제를 야기하지는 않았을 것입니다. Docker 명령어는 대체로 운영체제에 관계없이 동일하게 동작합니다.
추천 관련 질문 링크
- docker image ls: Docker 이미지를 관리하거나 조회하는데 있어서 유용한 팁들을 제공할 수 있는 게시물입니다.
문제가 계속되거나 더 구체적인 오류가 있다면 추가적인 정보를 제공해 주시면 더 정확히 도와드릴 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





답변 감사합니다. 그러면 영상에선 1개로 보인 이유는 버전 차이일까요?