Подтвердить что ты не робот

Docker login неизвестный сокращенный флаг: 'e'

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

aws ecr get-login

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

неизвестный сокращенный флаг: 'e' в -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
4b9b3361

Ответ 1

добавьте это в свой вызов

--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 CLI начиная с версии 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 для совместимости с [Докер] 17.06.0"

Ответ 2

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

например:

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

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

Ответ 3

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

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