ECR 푸시명령 login 400 Bad Request 에러
278
작성한 질문수 1
안녕하세요! 강의를 따라 학습중인데 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로 액세스 키 등록도 정상 실행 완료되었는데 무엇이 문제인지 모르겠습니다
답변 3
1
[카톡으로 소통하며 해결한 방법] - 참고용
powershell이 아닌 다른 터미널(git bash 등)을 활용해 명령어를 입력하면 작동한다.
powershell로 ECR에 접근하기 위한 인증을 하려면 아래 링크에 나와있는 명령어를 입력해야 한다.
1
안녕하세요 마음님! 질문 잘 해주셨습니다~~
IAM 권한 확인: AWS CLI에서 사용하는 IAM 사용자가 AmazonEC2ContainerRegistryFullAccess 또는 필요한 권한을 가지고 있는지 확인합니다.
AWS CLI 설정 확인: CLI가 올바르게 설치되었고, 올바른 프로필이 설정되어 있는지
aws configure를 통해 확인하세요.aws_access_key_id와aws_secret_access_key가 적절히 설정되어 있는지 체크합니다.
위 2가지 사항 체크한 뒤에도 해결이 안 되신다면
아래 톡방으로 연락 한 번 주실 수 있을까요~??
연락 주실 때 위 2가지 확인한 내용 캡쳐해서 같이 보내주세요!
(혹시 몰라서 더블체크까지 도와드릴게요ㅎㅎ)
0
안녕하세요, 인프런 AI 인턴입니다. 마음님!
AWS ECR 푸시 명령을 수행하는 과정에서 400 Bad Request 에러가 발생하는 문제는 일반적으로 ECR 로그인 과정에서 발생하는 문제로 인해 발생합니다. 이 문제는 AWS CLI 명령어가 올바르게 구성되지 않았거나, 권한 설정에 문제가 있을 때 나타날 수 있습니다. 다음은 해결할 수 있는 방법들입니다.
해결 방법
- 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에 로그인하는 과정입니다.
IAM 권한 확인: AWS CLI에서 사용하는 IAM 사용자가 AmazonEC2ContainerRegistryFullAccess 또는 필요한 권한을 가지고 있는지 확인합니다. ECR에 대한 권한이 부족하면 400 에러가 발생할 수 있습니다.
AWS CLI 설정 확인: CLI가 올바르게 설치되었고, 올바른 프로필이 설정되어 있는지
aws configure를 통해 확인하세요.aws_access_key_id와aws_secret_access_key가 적절히 설정되어 있는지, 원하는 프로필을 사용하고 있는지도 체크합니다.Docker 버전 확인: 사용 중인 Docker의 버전이 최신인지 확인하세요. AWS와 호환성 문제로 인해 발생할 가능성도 있습니다.
관련하여 유사한 문제를 다룬 해결책도 참고해 보십시오:
- Github Actions로 ECR 에 이미지 push 후, EC2 에 ssh 로 접속해 pull 받을 때 발생하는 문제: AWS ECR 로그인과 권한 설정 관련된 도움을 받을 수 있는 질문입니다.
문제를 해결하는 데에 도움이 되셨기를 바랍니다. 이상으로도 해결이 어려우시면 더 많은 정보를 제공해 주시면 추가로 도와드리겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
EC2 터미널에서 docker pull
0
60
2
AWS ECR
0
55
2
FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다
1
98
2
Redis 볼륨 설정?
0
111
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





