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


121

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

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

1
И именно поэтому мы не используем короткие параметры в наших интерфейсах, скриптах и ​​во всем остальном, что может когда-либо попадаться на глаза пользователям, которые плохо помнят все параметры командной строки используемых инструментов. Это может быть не по теме, но я думаю, что это важно подчеркнуть, потому что каждый разработчик программного обеспечения, который сталкивается с подобными вопросами, должен установить эту связь, а слишком многие этого не сделают. (Потому что, если бы параметр, передаваемый в docker, был чем-то вроде --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

Этот новый параметр доступен в интерфейсе командной строки 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


4
Обратите внимание, что для этого может потребоваться обновить awscli до последней версии.
broofa 05

3
sudo pip install --upgrade awscli
Фил Стронг

1
Вы, ребята, спасли меня <3
DaniG2k

1
Вот такие люди, как те, кто спасают бедные души сроками. Спасибо
Альфонсо Перес

1
По какой-то причине запуск pip install --upgrade awscliне обновляет aws, и --no-include-emailпараметры не распознаются. Мне пришлось использовать ответ от amazia внизу
Джонатан Моралес Велес,

18

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

например:

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

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


1
у меня это сработало. до сих пор любопытно узнать, почему это было фальшиво из-за ерунды
Шри Пракаш

@ShreePrakash просто старая версия программы
Александр Миллс

7

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

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


1
Работал у меня ...
codersofthedark

В ответе, на который вы ссылаетесь, предлагается добавить --no-include-emailв ecr loginкоманду. Эффект от этого точно отказаться -e noneот docker loginкоманды, она выводит.
закрытие

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из вывода.
закрытие

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.