indicateur de raccourci inconnu de connexion au docker: 'e'

121

Je viens de mettre à jour ma version de docker et j'ai découvert cette commande

aws ecr get-login

ne fonctionne plus. Erreur obtenue:

indicateur de raccourci inconnu: «e» dans -e ». Il semble que docker ne supporte plus l'indicateur -e.

Y'a t'il un moyen d'arranger cela?

Versions installées:

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
Chris
la source
1
Et c'est pourquoi nous n'utilisons pas les options courtes dans nos interfaces, nos scripts et tout ce qui pourrait jamais traverser les yeux des utilisateurs qui ne se souviennent pas parfaitement de chaque option de ligne de commande des outils utilisés. C'est peut-être hors sujet, mais je pense qu'il est important de le souligner, car chaque développeur de logiciel qui rencontre des questions comme celle-ci doit établir ce lien, et trop ne le feront pas. (Parce que si l'option passée à docker était quelque chose comme --emailça, cela diminuerait l'effort et augmenterait les chances que les utilisateurs découvrent --no-include-emailpar eux-mêmes.)
mtraceur

Réponses:

201

ajoutez ceci à votre appel

--no-include-email

voici la nouvelle syntaxe valide:

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

Cette nouvelle option est disponible dans AWS CLI à partir de la version 1.11.91 publiée le 23/05/2017 ... émettez ceci pour mettre à niveau:

pip install --upgrade awscli

voir les détails ici

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

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

citer :

"Vous devriez avoir reçu une notification par e-mail d'Amazon vers le 23 mai 2017 concernant le nouveau --no-include-emaildrapeau aws ecr get-loginactivé pour la compatibilité avec [Docker] 17.06.0"

Par exemple, après avoir émis le message suivant

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

il me montre la sortie suivante

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

Donc, pour terminer la connexion docker au référentiel aws, copiez N collez ci-dessus dans le même terminal, selon ...

 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

maintenant vous êtes connecté au référentiel aws docker

Scott Stensland
la source
4
Notez que cela peut nécessiter la mise awsà jour de cli vers la version la plus récente.
broofa
3
sudo pip install --upgrade awscli
Phil Strong
1
Vous m'avez sauvé <3
DaniG2k
1
Des gens comme le sont qui sauvent les pauvres âmes avec des délais ici. Merci
Alfonso Pérez
1
Pour une raison quelconque, l'exécution pip install --upgrade awscline met pas à jour aws et les --no-include-emailoptions ne sont pas reconnues. J'ai dû utiliser la réponse d'Amazia ci
Jonathan Morales Vélez
18

si pour une raison quelconque vous ne pouvez pas mettre à jour la version awscli, vous pouvez faire une petite manipulation de chaîne pour que cela fonctionne pour vous avec sed.

par exemple:

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

cela supprimera l'indicateur -e qui n'est pas pris en charge et vous devriez pouvoir vous connecter.

amazie
la source
1
cela a fonctionné pour moi. toujours curieux de savoir pourquoi il a été trompé parce que '-e' trucs
Shree Prakash
@ShreePrakash juste une ancienne version du programme cli
Alexander Mills
7

J'ai eu le même problème, mais la réponse de Scott Stensland ne l'a pas résolu.

Au cas où cela arriverait à quelqu'un d'autre, supprimer «-e none» de la commande a résolu le problème.

Asafm
la source
1
A travaillé pour moi ...
codersofthedark
La réponse à laquelle vous faites référence suggère d'ajouter --no-include-emailà la ecr logincommande. L'effet de ceci est précisément d'abandonner -e nonela docker logincommande qu'il génère.
dsclose
1

Exécutez l'instruction de connexion.

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

Ensuite, supprimez l'indicateur et la valeur -e nonede l'instruction résultante. Alors, à quoi vous allez ressembler ...

docker login -u AWS -p <long password hash> https://<image ID>.dkr.ecr.us-west-2.amazonaws.com 
openwonk
la source
1
L'ajout --no-include-email à la ecr get-logincommande omet le -e nonefrom de la sortie.
dsclose
1

Si vous préférez éviter d'actualiser manuellement votre jeton d'authentification avec aws ecr get-login, vous pouvez installer l' assistant d'informations d'identification Amazon ECR à la place. L'assistant d'identification se chargera de récupérer et de mettre à jour automatiquement les jetons afin que vous n'ayez pas besoin de les actualiser vous-même. Les packages sont disponibles pour Debian (Buster ou plus récent), Ubuntu (19.10 ou plus récent), Amazon Linux 2, Mac OS (via Homebrew) et quelques autres systèmes d'exploitation, ou vous pouvez télécharger des versions binaires à partir de la page des versions .

Samuel Karp
la source