aws ecr 을 window 환경에서 적용해보는 중에 문제가 생겨 문의 드립니다.
119
작성한 질문수 1
윈도우 환경에서는
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin ...
명령어를 실행시켜보면
.Password은(는) 예상되지 않았습니다. 라고
메세지가 나와 진행이 어렵습니다.
답변 3
1
안녕하세요, 인프런 AI 인턴입니다. 이휘로님!
Windows 환경에서 AWS ECR에 인증 시 발생하는 문제는 PowerShell 명령어의 차이 및 호환성 문제로 인해 발생할 수 있습니다. 일반적으로 제공되는 “aws ecr get-login-password” 명령어는 PowerShell에서 조금 다르게 작동할 수 있습니다. 아래에 윈도우 PowerShell을 사용하여 문제를 해결하는 방법을 안내드립니다.
해결 방법
- PowerShell에서 로그인 명령어 수행:
AWS CLI 명령어를 직접 사용할 때는Get-ECRLoginCommand대신aws ecr get-login-password명령어를 사용하는 것이 일반적입니다.aws ecr get-login-password를 통해 직접적으로 문자열을 받을 수 있도록 하여, 다음과 같은 명령어로 로그인 할 수 있습니다.
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 계정 ID로 변경해야 합니다.
PowerShell 사용 시 주의사항:
- PowerShell의 경우, UNIX 셸과 다른 방식으로 명령을 처리할 수 있으므로 명령어 사용 시 주의해야 합니다.
- AWS CLI가 최신 버전인지 확인하고, 업데이트가 필요하다면 진행해 보세요.
- PowerShell의 경우, UNIX 셸과 다른 방식으로 명령을 처리할 수 있으므로 명령어 사용 시 주의해야 합니다.
CLI 설정 및 권한 확인:
- AWS CLI가 올바르게 설치되고 권한이 적절히 설정되었는지 확인합니다.
aws configure를 실행하여 AWS 자격 증명이 올바르게 구성되었는지 점검하세요.
- 사용하는 IAM 사용자가 AmazonEC2ContainerRegistryFullAccess 권한을 가지고 있는지 재확인해보세요.
- AWS CLI가 올바르게 설치되고 권한이 적절히 설정되었는지 확인합니다.
추가 참고 자료
PowerShell에서 AWS CLI 사용에 있어 유의해야 할 부분 또는 잘못된 사용으로 인한 오류는 아래 링크를 통해 다른 수강생분들이 겪었던 유사한 문제와 해결책을 확인할 수 있습니다.
위 방법들로 문제가 해결되기를 바랍니다. 문제가 지속된다면 추가 정보를 제공해 주시면 더 많은 도움을 드릴 수 있도록 하겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
안녕하세요 휘로님 ! 질문 잘해주셨어요 !
질문해 주신 내용에 답변드려볼게요~~
Windows에서 .Password 속성을 사용하는 방식이 제대로 작동하지 않아서 문제가 발생한 것 같네요 !
주로 CMD 창에서 실행을 하거나 최신 CLI v2가 아닌경우 해당 에러가 발생하곤해요 !
아래 부분들을 다시 한번 확인해 보시는 걸 추천드려요 !
[1] PowerShell로 열었는지 확인 (CMD/파워쉘 을 헷갈리셨을 수도 있어요 !)
[2] aws --version 로 버전 확인 및 aws configure 로 자격증명/리전 확인
[3] Docker Desktop 실행 중인지 (데몬 안 켜져 있으면 로그인에 실패해요 !)
참고로 강의자료의 macOS/Linux 명령어도 윈도우 환경의 파워쉘에서 모두 동작하니
해당 명령어로도 시도해 보시는걸 추천드려요 :)
위와 같은 디버깅 과정 후에도 같은 오류가 계속 발생하신다면,
어떤 터미널(CMD/PowerShell/WSL)에서 실행하셨는지,
정확히 입력하신 한 줄 명령어, aws --version/docker --version 결과와 함께
추가 질문 주시면 더 자세하게 봐드리겠습니다 ~
늘 파이팅입니다 !
EC2 터미널에서 docker pull
0
64
2
AWS ECR
0
57
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
ECR 리포지토리에 이미지가 3개가 보입니다.
0
77
2
액세스 키 등록하는 시점 관련 질문이 있습니다.
0
83
1
depends_on에 따른 컨테이너 실행 순서
0
76
2
실제 웹 서비스 배포 시 질문
0
80
2
도커 volume 질문
0
67
3
HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?
0
73
2
sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?
0
73
2
39강 도커파일 빌드 경로 질문이 있습니다.
0
70
2
도커파일 copy
0
70
2
실무에서 docker compose up --build를 할 때
0
186
2
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
0
85
2
도커 허브에서 postgres 버전 확인하는 법
0
127
2
보충 자료와도 관련된 추가 내용
1
82
1
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
0
110
2
노션 자료에 안 보이는 이미지가 있습니다
0
101
1
도커 허브에서의 latest가 가장 최신인 게 맞나요?
0
121
2
docker image ls 실행 시 나오는 내용이 다릅니다
0
86
2





