도커 로그인 알 수없는 단축 플래그 : 'e'


121

방금 도커 버전을 업데이트하고 해당 명령을 발견했습니다.

aws ecr get-login

더 이상 작동하지 않습니다. 오류 발생 :

알 수없는 속기 플래그 : -e`의 'e'. docker가 더 이상 -e 플래그를 지원하지 않는 것 같습니다.

이 문제를 해결할 방법이 있습니까?

설치된 버전 :

aws-cli/1.11.111 Python/2.7.10 Darwin/16.6.0 botocore/1.5.74

Docker version 17.06.0-ce-rc5, build b7e4173

1
이것이 우리가 인터페이스, 스크립트 및 사용중인 도구의 모든 명령 줄 옵션을 완벽하게 기억하지 못하는 사용자의 눈을 가로 지르는 기타 항목에서 짧은 옵션을 사용하지 않는 이유입니다. 주제에서 벗어 났을 수도 있지만 강조하는 것이 중요하다고 생각합니다. 이와 같은 질문을하는 모든 소프트웨어 개발자는이 연결을 만들어야하고 너무 많은 사람들은 그렇지 않기 때문입니다. (도커에 전달되는 옵션이와 --email같으면 노력을 줄이고 사용자 --no-include-email가 스스로 발견 할 확률을 높 입니다.)
mtraceur

답변:


201

이것을 당신의 전화에 추가하십시오

--no-include-email

다음은 새로운 유효한 구문입니다.

aws ecr get-login   ${normal_params_here}   --no-include-email
aws ecr get-login   --region us-east-1      --no-include-email  # for example

이 새로운 옵션은 2017 년 5 월 23 일에 릴리스 된 버전 1.11.91부터 AWS CLI에서 사용할 수 있습니다. 다음을 발행하여 업그레이드하십시오.

pip install --upgrade awscli

여기에서 세부 사항을보십시오

https://github.com/docker/for-mac/issues/1762

https://github.com/aws/aws-cli/issues/1926

인용 :

" [Docker] 17.06.0과의 호환성 을 위한 새 플래그에 대한 2017 년 5 월 23 일경 Amazon으로부터 이메일 알림을 받았을 것입니다."--no-include-emailaws ecr get-login

예를 들어 다음을 발행 한 후

aws ecr get-login   --region us-east-1      --no-include-email  

다음 출력을 보여줍니다.

docker login -u AWS -p foobarZUFtSzg4SDBUa0lDSEpTNUQ5M3pDVDhHNi9jS2s3SExhQWpheEVMWTlmY0pNWlphOEN5M2hJTUFoMDlJczd0anVoRk9CKzE1ODdBdmQ1ZzRNR3pKa1lMZ2NTOGo4Mk1sZGlwdDRjQlJyOERvaDFiaEt6TWRlVHkzalA2Um5RSTBNNW5qRW9WL1ZlaEhxMTV4bjl5aXQrV1NXMnp1NWNwek1JQWVxRjd0YWhZWkxxYmdRVjdldE9LQUY3dW5OWFFSM20vY0x4L1ZKWW9BZzlNM0wrQy8vdENEQXRXMFpvTTNrVXNxTHg4MEFQQXJRV08yZ1BRb0VLcHo1ZE1sc1JLS25hWit2eGVzODdlUFZ3OS9tT29BV0pEUzBSWUx0ellsUUVKNUpadXlkbXlnL2owL2N5VUJaSWNpajJaVExrYTlwRm9STkVhejVZKzhBU3N4S1c4RWNIOThuNi8xcDRDU09lcnlQUjUwYnRGZ1RtWk5LNVRTaW92ZXhNYUs2RFpLTU83MHgvYlpRcXgxYWh5U2FFTXR5RlMxempqVlFva3JVeTYrQVMwL09pQ2NRV1o2S01kMDc5akNDdE5YakFzamNsUTUzZVE4TUFUTWIrYTBBNFlIaDJNcFJ2RjU5dWNHS2tYUkl4WGNVY1Zpc2l4NmJNaEo4dEZsK0hEem5PSXRHRmh3b3lZV093OEw3dFlwbFFTSEFTaVdsemRSVTNvQmREQ2FCZys3R09BUW96SWxsWnV2Yk51cG1qWkFzMWE5MzdMelQ0Y25lemYwbWZUSFBDVVpzYzQ2Wk1jWkl4MjMrU0lpL3g3aFZ1NXJzcklVVFJTd1UwRUpLbFNIUkZKZ0xqZ0R1bnVrSGlrY0pnZEhseDlKRmloWEM3REF6bDByMkc4LzN1SG4xeEFCdWVlN2tUU2dsS0lTcW45ejI3eUlCc3BjOUhxU2JuUzNTOGVJamJvdmdaQWNNL1R2YUVTTEdsM0hrUnlXb04zUVhFM2NWa1poR1ZDZEJCTlRiekkvMUlLVENnNnlKNTVibThMTE0rcEdFQ1h1M1JwWWZUU3VLOVc0NytQVkJUSWtsNnhrd0Jobm9nZ1MwUkYyc2xNb1F6S08zZHhva24zN0dSS1hoOXhSbG85RVlWOHZLRzVzbjdhbnhpby9EL3ZDbHFXWTlLRGVwOGxMK0NhR3lpbDRHZ3JwWmtWampaaExzQ1cyTWk0L3NXUTEyV0ZCR0JnOSIsImRhdGFrZXkiOiJBUUVCQUhod20wWWFJU0plUnRKbTVuMUc2dXFlZWtYdW9YWFBlNVVGY2U5UnE4LzE0d0FBQUg0d2ZBWUpLb1pJaHZjTkFRY0dvRzh3YlFJQkFEQm9CZ2txaGtpRzl3MEJCd0V3SGdZSllJWklBV1VEQkFFdU1CRUVESnpKWXZhbXBFRkFSVUx5bUFJQkVJQTcwZk1ZUlU4bG9RVnRwMWJJUHRoZktTOFMzZVpZNS8rT0orL0RmSjZXNVpiK0p0TURXZmZ5Rm9vc0gzMDFVWS9OQ1lzb2hWM1FER2E3NmZ3PSIsInZlcnNpb24iOiIyIiwidHlwZSI6IkRBVEFfS0VZIiwiZXhwaXJhdGlvbiI6MTU2NDkxNTYyOH0= https://092412696969.dkr.ecr.us-east-1.amazonaws.com

따라서 aws 리포지토리에 대한 도커 로그인을 완료하려면 위의 N 붙여 넣기를 동일한 터미널에 다시 복사합니다.

 docker login -u AWS -p foobarZUFtSzg4SDBUa0lDSEpTNUQ5M3pDVDhHNi9jS2s3SExhQWpheEVMWTlmY0pNWlphOEN5M2hJTUFoMDlJczd0anVoRk9CKzE1ODdBdmQ1ZzRNR3pKa1lMZ2NTOGo4Mk1sZGlwdDRjQlJyOERvaDFiaEt6TWRlVHkzalA2Um5RSTBNNW5qRW9WL1ZlaEhxMTV4bjl5aXQrV1NXMnp1NWNwek1JQWVxRjd0YWhZWkxxYmdRVjdldE9LQUY3dW5OWFFSM20vY0x4L1ZKWW9BZzlNM0wrQy8vdENEQXRXMFpvTTNrVXNxTHg4MEFQQXJRV08yZ1BRb0VLcHo1ZE1sc1JLS25hWit2eGVzODdlUFZ3OS9tT29BV0pEUzBSWUx0ellsUUVKNUpadXlkbXlnL2owL2N5VUJaSWNpajJaVExrYTlwRm9STkVhejVZKzhBU3N4S1c4RWNIOThuNi8xcDRDU09lcnlQUjUwYnRGZ1RtWk5LNVRTaW92ZXhNYUs2RFpLTU83MHgvYlpRcXgxYWh5U2FFTXR5RlMxempqVlFva3JVeTYrQVMwL09pQ2NRV1o2S01kMDc5akNDdE5YakFzamNsUTUzZVE4TUFUTWIrYTBBNFlIaDJNcFJ2RjU5dWNHS2tYUkl4WGNVY1Zpc2l4NmJNaEo4dEZsK0hEem5PSXRHRmh3b3lZV093OEw3dFlwbFFTSEFTaVdsemRSVTNvQmREQ2FCZys3R09BUW96SWxsWnV2Yk51cG1qWkFzMWE5MzdMelQ0Y25lemYwbWZUSFBDVVpzYzQ2Wk1jWkl4MjMrU0lpL3g3aFZ1NXJzcklVVFJTd1UwRUpLbFNIUkZKZ0xqZ0R1bnVrSGlrY0pnZEhseDlKRmloWEM3REF6bDByMkc4LzN1SG4xeEFCdWVlN2tUU2dsS0lTcW45ejI3eUlCc3BjOUhxU2JuUzNTOGVJamJvdmdaQWNNL1R2YUVTTEdsM0hrUnlXb04zUVhFM2NWa1poR1ZDZEJCTlRiekkvMUlLVENnNnlKNTVibThMTE0rcEdFQ1h1M1JwWWZUU3VLOVc0NytQVkJUSWtsNnhrd0Jobm9nZ1MwUkYyc2xNb1F6S08zZHhva24zN0dSS1hoOXhSbG85RVlWOHZLRzVzbjdhbnhpby9EL3ZDbHFXWTlLRGVwOGxMK0NhR3lpbDRHZ3JwWmtWampaaExzQ1cyTWk0L3NXUTEyV0ZCR0JnOSIsImRhdGFrZXkiOiJBUUVCQUhod20wWWFJU0plUnRKbTVuMUc2dXFlZWtYdW9YWFBlNVVGY2U5UnE4LzE0d0FBQUg0d2ZBWUpLb1pJaHZjTkFRY0dvRzh3YlFJQkFEQm9CZ2txaGtpRzl3MEJCd0V3SGdZSllJWklBV1VEQkFFdU1CRUVESnpKWXZhbXBFRkFSVUx5bUFJQkVJQTcwZk1ZUlU4bG9RVnRwMWJJUHRoZktTOFMzZVpZNS8rT0orL0RmSjZXNVpiK0p0TURXZmZ5Rm9vc0gzMDFVWS9OQ1lzb2hWM1FER2E3NmZ3PSIsInZlcnNpb24iOiIyIiwidHlwZSI6IkRBVEFfS0VZIiwiZXhwaXJhdGlvbiI6MTU2NDkxNTYyOH0= https://092412696969.dkr.ecr.us-east-1.amazonaws.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/pualu/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

이제 aws docker 리포지토리에 로그인되었습니다.


4
이를 위해서는 awscli를 최신 버전으로 업데이트해야 할 수 있습니다 .
broofa

3
sudo pip install --upgrade awscli
Phil Strong

1
너희들은 나 <3 저장
DaniG2k을

1
같은 사람들은 여기에 기한을두고 가난한 영혼을 구하는 사람들입니다. 감사합니다
Alfonso Pérez

1
어떤 이유로 실행 pip install --upgrade awscli은 aws를 업데이트하지 않고 --no-include-email옵션이 인식되지 않습니다. 나는 아래 amazia 아래에서 해답을 사용했다
조나단 모랄레스를 Vélez

18

어떤 이유로 awscli 버전을 업그레이드 할 수없는 경우 약간의 문자열 조작을 수행하여 sed로 작동하도록 할 수 있습니다.

예를 들면 :

$(aws ecr get-login --region eu-central-1 | sed -e 's/-e none//g')

이것은 지원되지 않는 -e 플래그를 삭제하고 로그인 할 수 있어야합니다.


1
그것은 나를 위해 일했습니다. 이 때문에 '-e'물건 falied 이유를 알고 여전히 호기심
슈리 프라 카쉬

CLI를 프로그램의 바로 이전 버전 @ShreePrakash
알렉산더 밀스

7

나는 같은 문제가 있었지만 Scott Stensland의 대답에 따라 해결되지 않았습니다.

다른 사람에게 발생하는 경우 명령에서 '-e none'을 삭제하면 문제가 해결되었습니다.


1
나를 위해 일했다 ...
codersofthedark

참조하는 대답 --no-include-emailecr login명령에 추가 하는 것을 제안 합니다 . 이것의 효과는 정확하게 그것이 출력 -e none하는 docker login명령 에서 떨어 집니다 .
dsclose

1

로그인 문을 실행합니다.

aws ecr get-login --region us-west-2

그런 다음 -e none결과 명령문에서 플래그와 값 을 제거하십시오 . 그래서, 당신이 달리는 것은 ...처럼 보일 것입니다.

docker login -u AWS -p <long password hash> https://<image ID>.dkr.ecr.us-west-2.amazonaws.com 

1
추가 --no-include-email 받는 ecr get-login명령은 생략 -e none출력에서에서.
dsclose

1

을 사용하여 인증 토큰을 수동으로 새로 고치지 않으려면 대신 Amazon ECR 자격 증명 도우미aws ecr get-login설치할 수 있습니다 . 자격 증명 도우미는 토큰을 자동으로 검색하고 업데이트하므로 직접 새로 고칠 필요가 없습니다. 패키지는 Debian (Buster 이상), Ubuntu (19.10 이상), Amazon Linux 2, Mac OS (Homebrew를 통해) 및 기타 몇 가지 운영 체제에서 사용할 수 있습니다. 또는 릴리스 페이지 에서 바이너리 릴리스를 다운로드 할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.