inflearn logo
강의

講義

知識共有

非専門家でも理解できるDocker入門/実践

[実習] AWS ECR(Elastic Container Registry)を使ってみる

ECR 리포지토리에 이미지가 3개가 보입니다.

解決済みの質問

77

11 1

投稿した質問数 147

0

1.png.webp

한 번만 push했는데 왜 이렇게 보일까요?

제 컴퓨터는 윈도우인데, Q&A에서 맥 명령어를 입력해도 된다는 답변을 보고 일부러 맥 명령어를 해 봤습니다. 혹시 그것 때문일까요?

push는 됐는데 이미지가 3개면 잘못된 건가요?

docker docker-compose docker-volume docker-image container ecr

回答 2

1

jscode

안녕하세요 ! 질문 너무 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

결론부터 말씀드리면, 잘못된 게 아니니 걱정 안 하셔도 돼요 !

이미지가 3개로 보이는 이유는 Docker 이미지의 구조 때문이에요 ~

Docker 이미지는 하나의 덩어리가 아니라 여러 개의 레이어로 구성되어 있는데요, 첨부해 주신 이미지를 보시면 "Image Index" 유형 1개와 "Image" 유형 2개가 있는 걸 확인하실 수 있어요 !

Image Index는 멀티 플랫폼을 지원하기 위한 매니페스트 목록이고, 나머지 Image들은 실제 이미지 레이어들이에요 !

이렇게 하나의 이미지를 push하더라도 내부적으로는 여러 항목으로 나뉘어서 저장되기 때문에 3개로 보이는 거예요~~

그리고 맥 명령어를 사용하신 부분도 문제가 되지 않아요 !

ECR에 push하는 명령어 자체는 맥이나 윈도우나 동일하게 동작하기 때문에 그 부분은 신경 쓰지 않으셔도 돼요 !

latest 태그가 잘 붙어있고 이미지 크기도 정상적으로 표시되고 있으니, push가 정상적으로 완료된 상태에요 :)

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

11 1

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

1

jscode

안녕하세요! 추가 질문 잘 해주셨어요 ~

질문해 주신 내용에 대해 답변드려볼게요 ~

"그러면 영상에선 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

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 11 1님.

ECR 리포지토리에 이미지를 한 번만 푸시했는데 여러 개의 이미지가 보이는 것은 일상적으로 발생할 수 있는 현상입니다. 이는 Docker 이미지의 레이어 구조와 태그(tag) 관리 방식 때문에 생길 수 있습니다. Docker 이미지가 푸시될 때, 동일한 이미지의 다양한 상태나 버전이 리포지토리 내에 저장될 수 있습니다. 특히, 아래와 같은 경우에 여러 이미지가 보일 수 있습니다:

  1. 상위 이미지 저장: Docker는 이미지의 변경된 레이어만 푸시합니다. 이 때문에 같은 이미지를 업데이트해서 푸시했더라도, 상위 레이어가 다시 푸시될 때 새로운 이미지 항목으로 보일 수 있습니다.

  2. 다양한 태그 사용: 이미지를 푸시할 때 latest와 같은 태그 외에도 다른 태그가 함께 푸시되었을 경우, 이는 각각의 태그로 인해 여러 개의 이미지로 나타날 수 있습니다.

  3. 동일한 이미지의 다른 버전: 단일 푸시 시도지만 코드나 설정의 변경으로 인해 다른 버전의 이미지가 생성되었을 경우, 각각의 버전이 별개의 이미지로 보여질 수 있습니다.

Mac 명령어로 시도한 것이 이 문제를 야기하지는 않았을 것입니다. Docker 명령어는 대체로 운영체제에 관계없이 동일하게 동작합니다.

추천 관련 질문 링크

  • docker image ls: Docker 이미지를 관리하거나 조회하는데 있어서 유용한 팁들을 제공할 수 있는 게시물입니다.

문제가 계속되거나 더 구체적인 오류가 있다면 추가적인 정보를 제공해 주시면 더 정확히 도와드릴 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

EC2 터미널에서 docker pull

0

64

2

AWS ECR

0

58

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

Redis 볼륨 설정?

0

117

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

88

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

83

1

depends_on에 따른 컨테이너 실행 순서

0

77

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

74

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

74

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

71

2

도커파일 copy

0

70

2

실무에서 docker compose up --build를 할 때

0

190

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

87

2

도커 허브에서 postgres 버전 확인하는 법

0

128

2

보충 자료와도 관련된 추가 내용

1

83

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

101

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

121

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

87

2

윈도우 볼륨 생성이 안됩니다.

0

78

2