inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] AWS ECR(Elastic Container Registry) 사용해보기

ECR 푸시명령 login 400 Bad Request 에러

278

마음

작성한 질문수 1

0

안녕하세요! 강의를 따라 학습중인데 ECR를 푸시 명령 1번째 복사해서 붙여넣고 실행하면 다음과 같은 에러 메시지가 발생합니다

Error response from daemon: login attempt to https://(숫자).dkr.ecr.ap-northeast-2.amazonaws.com/v2/ failed with status: 400 Bad Request

 

해당 링크를 접속하면 로그인하라 발생하는데

AWS CLI로 액세스 키 등록도 정상 실행 완료되었는데 무엇이 문제인지 모르겠습니다

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

답변 3

1

JSCODE 박재성

[카톡으로 소통하며 해결한 방법] - 참고용

powershell이 아닌 다른 터미널(git bash 등)을 활용해 명령어를 입력하면 작동한다.

powershell로 ECR에 접근하기 위한 인증을 하려면 아래 링크에 나와있는 명령어를 입력해야 한다.

https://inf.run/dAjau

1

JSCODE 박재성

안녕하세요 마음님! 질문 잘 해주셨습니다~~

  1. IAM 권한 확인: AWS CLI에서 사용하는 IAM 사용자가 AmazonEC2ContainerRegistryFullAccess 또는 필요한 권한을 가지고 있는지 확인합니다.

  1. AWS CLI 설정 확인: CLI가 올바르게 설치되었고, 올바른 프로필이 설정되어 있는지 aws configure를 통해 확인하세요. aws_access_key_idaws_secret_access_key가 적절히 설정되어 있는지 체크합니다.

위 2가지 사항 체크한 뒤에도 해결이 안 되신다면

아래 톡방으로 연락 한 번 주실 수 있을까요~??

연락 주실 때 위 2가지 확인한 내용 캡쳐해서 같이 보내주세요!
(혹시 몰라서 더블체크까지 도와드릴게요ㅎㅎ)

https://open.kakao.com/o/srGtpusg

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 마음님!

AWS ECR 푸시 명령을 수행하는 과정에서 400 Bad Request 에러가 발생하는 문제는 일반적으로 ECR 로그인 과정에서 발생하는 문제로 인해 발생합니다. 이 문제는 AWS CLI 명령어가 올바르게 구성되지 않았거나, 권한 설정에 문제가 있을 때 나타날 수 있습니다. 다음은 해결할 수 있는 방법들입니다.

해결 방법

  1. AWS CLI로 재로그인: AWS ECR에 로그인해야 하는데, 먼저 AWS CLI로 정확하게 로그인했는지 확인이 필요합니다. 이 과정은 ECR 푸시 명령을 수행하기 전에 필수적입니다. 다음 명령어를 사용해보세요.
   aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com

위 명령어에서 <AWS_ACCOUNT_ID>를 실제 계정 아이디로 대체해야 합니다. 이 명령어는 aws ecr get-login-password를 통해 패스워드를 가져와 Docker에 로그인하는 과정입니다.

  1. IAM 권한 확인: AWS CLI에서 사용하는 IAM 사용자가 AmazonEC2ContainerRegistryFullAccess 또는 필요한 권한을 가지고 있는지 확인합니다. ECR에 대한 권한이 부족하면 400 에러가 발생할 수 있습니다.

  2. AWS CLI 설정 확인: CLI가 올바르게 설치되었고, 올바른 프로필이 설정되어 있는지 aws configure를 통해 확인하세요. aws_access_key_idaws_secret_access_key가 적절히 설정되어 있는지, 원하는 프로필을 사용하고 있는지도 체크합니다.

  3. Docker 버전 확인: 사용 중인 Docker의 버전이 최신인지 확인하세요. AWS와 호환성 문제로 인해 발생할 가능성도 있습니다.

관련하여 유사한 문제를 다룬 해결책도 참고해 보십시오:

문제를 해결하는 데에 도움이 되셨기를 바랍니다. 이상으로도 해결이 어려우시면 더 많은 정보를 제공해 주시면 추가로 도와드리겠습니다.

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

EC2 터미널에서 docker pull

0

60

2

AWS ECR

0

55

2

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

1

98

2

Redis 볼륨 설정?

0

112

2

컨테이너의 IP

0

78

2

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

0

100

2

compose.yml 관리

0

86

2

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

0

75

2

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

0

81

1

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

0

74

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

65

3

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

0

71

2

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

0

70

2

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

0

67

2

도커파일 copy

0

68

2

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

0

182

2

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

0

83

2

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

0

126

2

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

1

81

1

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

0

105

2

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

0

98

1

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

0

114

2

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

0

84

2