docker login unknown сокращенный флаг: 'e'

Я только что обновил версию докера и узнал, что команда

aws ecr get-login

больше не работает. Получил ошибку:

неизвестный сокращенный флаг: 'e' in -e '. Похоже, докер больше не поддерживает флаг -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

person Chris    schedule 23.06.2017    source источник
comment
И именно поэтому мы не используем короткие параметры в наших интерфейсах, скриптах и ​​во всем остальном, что может когда-либо попадаться на глаза пользователям, которые плохо помнят все параметры командной строки используемых инструментов. Это может быть не по теме, но я думаю, что это важно подчеркнуть, потому что каждый разработчик программного обеспечения, который сталкивается с подобными вопросами, должен установить эту связь, а слишком многие этого не сделают. (Потому что, если бы параметр, передаваемый докеру, был чем-то вроде --email, это уменьшило бы усилия и увеличило вероятность того, что пользователи обнаружат --no-include-email самостоятельно.)   -  person mtraceur    schedule 05.11.2019


Ответы (6)


добавьте это к своему звонку

--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

Этот новый параметр доступен в интерфейсе командной строки AWS начиная с версии 1.11.91, выпущенной 23.05.2017 ... выполните это для обновления:

pip install --upgrade awscli

подробности здесь

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

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

Цитировать :

"Вы должны были получить уведомление по электронной почте от Amazon примерно 23 мая 2017 г. о новый флаг --no-include-email на aws ecr get-login для совместимости с [Docker] 17.06.0 "

Например, после того, как я выдаю следующее

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

person Scott Stensland    schedule 23.06.2017
comment
Обратите внимание, что для этого может потребоваться обновление aws cli до последней версии. - person broofa; 06.07.2017
comment
sudo pip install --upgrade awscli - person Phil Strong; 10.07.2017
comment
Инструкция от docker push тоже устарела? Он не упоминает флаг --no-include-email, а просто говорит, что отказано: срок действия вашего токена авторизации истек. Пожалуйста, запустите aws ecr get-login, чтобы получить новый. - person dcorking; 27.11.2017
comment
По какой-то причине запуск pip install --upgrade awscli не обновляет aws, а параметры --no-include-email не распознаются. Мне пришлось использовать ответ от amazia внизу - person Jonathan Morales Vélez; 15.03.2018

Если по какой-то причине вы не можете обновить версию awscli, вы можете немного манипулировать строкой, чтобы заставить ее работать на вас с помощью sed.

Например:

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

это сбросит флаг -e, который не поддерживается, и вы сможете войти в систему.

person amazia    schedule 02.10.2017
comment
у меня это сработало. все еще любопытно узнать, почему это было фальсифицировано из-за того, что '-e' - person Shree Prakash; 31.10.2018
comment
@ShreePrakash просто старая версия программы cli - person Alexander Mills; 30.04.2019

У меня была такая же проблема, но ответ Скотта Стенсланда не решил ее.

В случае, если это произойдет с кем-то еще, удаление «-e none» из команды решило проблему.

person Asafm    schedule 25.10.2017
comment
В ответе, на который вы ссылаетесь, предлагается добавить --no-include-email к команде ecr login. Результатом этого является удаление -e none из команды docker login, которую он выводит. - person dsclose; 19.11.2019

Запустите оператор входа в систему.

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 
person openwonk    schedule 12.03.2019
comment
Добавление --no-include-email к команде ecr get-login исключает -e none из вывода. - person dsclose; 19.11.2019

Если вы предпочитаете не обновлять токен аутентификации вручную с помощью aws ecr get-login, вы можете установить учетные данные Amazon ECR помощник. Помощник по учетным данным позаботится о получении и обновлении токенов автоматически, поэтому вам не нужно обновлять его самостоятельно. Пакеты доступны для Debian (Buster или новее), Ubuntu (19.10 или новее), Amazon Linux 2, Mac OS (через Homebrew) и некоторых других операционных систем, или вы можете загрузить бинарные версии с страница выпусков.

person Samuel Karp    schedule 10.12.2019

C:\WINDOWS\system32>docker rm -f $(docker ps -qa)
unknown shorthand flag: 'q' in -qa)
See 'docker rm --help'.

Если проблема вызвана ОС Windows, попробуйте запустить команду в PowerShell с правами администратора.

У меня это сработало.

person user2817844    schedule 29.05.2021