Docker Login unbekannte Kurzschrift Flag: 'e'


121

Ich habe gerade meine Docker-Version aktualisiert und diesen Befehl herausgefunden

aws ecr get-login

funktioniert nicht mehr. Fehler erhalten:

unbekannte Kurzflagge: 'e' in -e`. Scheint, dass Docker -e Flag nicht mehr unterstützt.

Gibt es eine Möglichkeit, dies zu beheben?

Installierte Versionen:

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
Aus diesem Grund verwenden wir nicht die kurzen Optionen in unseren Benutzeroberflächen, Skripten und anderen Elementen, die den Benutzern jemals in den Sinn kommen könnten, die sich nicht perfekt an jede Befehlszeilenoption der verwendeten Tools erinnern. Es mag nicht zum Thema gehören, aber ich denke, es ist wichtig zu betonen, dass jeder Softwareentwickler, der auf Fragen wie diese stößt, diese Verbindung herstellen muss und zu viele nicht. (Denn wenn die Option, die an Docker übergeben wird, so etwas wie wäre --email, würde dies den Aufwand verringern und die Wahrscheinlichkeit erhöhen, dass Benutzer selbst entdecken --no-include-email.)
mtraceur

Antworten:


201

Fügen Sie dies Ihrem Anruf hinzu

--no-include-email

Hier ist die neue gültige Syntax:

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

Diese neue Option ist in AWS CLI ab Version 1.11.91 verfügbar, die am 23.05.2017 veröffentlicht wurde. Geben Sie dies zum Upgrade aus:

pip install --upgrade awscli

Details finden Sie hier

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

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

zitieren :

"Sie sollten um den 23. Mai 2017 eine E-Mail-Benachrichtigung von Amazon über die neue --no-include-emailFlagge erhalten haben, aws ecr get-loginum die Kompatibilität mit [Docker] 17.06.0 zu gewährleisten."

Zum Beispiel, nachdem ich folgendes ausgegeben habe

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

es zeigt mir folgende Ausgabe

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

Um die Docker-Anmeldung im aws-Repository abzuschließen, kopieren Sie N oben in dasselbe Terminal zurück, wie in ...

 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

Jetzt sind Sie im aws Docker-Repository angemeldet


4
Beachten Sie, dass hierfür möglicherweise die Aktualisierung von awscli auf die neueste Version erforderlich ist .
Broofa

3
Sudo Pip installieren - Upgrade awscli
Phil Strong

1
Ihr habt mich gerettet <3
DaniG2k

1
Leute wie sind, die arme Seelen mit Fristen hier retten. Vielen Dank
Alfonso Pérez

1
Aus irgendeinem Grund pip install --upgrade awscliwird aws nicht aktualisiert und die --no-include-emailOptionen werden nicht erkannt. Ich musste die Antwort von Amazon unten verwenden
Jonathan Morales Vélez

18

Wenn Sie aus irgendeinem Grund die awscli-Version nicht aktualisieren können, können Sie eine kleine Zeichenfolgenmanipulation durchführen, damit sie mit sed für Sie funktioniert.

beispielsweise:

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

Dadurch wird das nicht unterstützte Flag -e gelöscht, und Sie sollten sich anmelden können.


1
es hat bei mir funktioniert. immer noch neugierig zu wissen, warum es wegen '-e' Zeug
Shree Prakash

@ShreePrakash nur eine ältere Version des Cli-Programms
Alexander Mills

7

Ich hatte das gleiche Problem, aber nach der Antwort von Scott Stensland konnte es nicht gelöst werden.

Für den Fall, dass es jemand anderem passiert, wurde das Problem behoben, indem '-e none' aus dem Befehl entfernt wurde.


1
Arbeitete für mich ...
Codersofthedark

Die Antwort, auf die Sie verweisen, schlägt vor --no-include-email, dem ecr loginBefehl etwas hinzuzufügen . Der Effekt davon ist , genau fallen -e noneaus dem docker loginBefehl , daß sie ausgibt.
Schließen Sie den

1

Führen Sie die Anmeldeanweisung aus.

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

Entfernen Sie dann das Flag und den Wert -e noneaus der resultierenden Anweisung. Also, wie du rennst, würde aussehen ...

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

1
Durch Hinzufügen --no-include-email zum ecr get-loginBefehl wird das -e nonevon in der Ausgabe weggelassen.
Schließen Sie den

1

Wenn Sie es vermeiden möchten, Ihr Authentifizierungstoken manuell mit zu aktualisieren aws ecr get-login, können Sie stattdessen den Amazon ECR-Helfer für Anmeldeinformationen installieren . Der Helfer für Anmeldeinformationen sorgt dafür, dass Token automatisch abgerufen und aktualisiert werden, sodass Sie sie nicht selbst aktualisieren müssen. Pakete sind für Debian (Buster oder neuer), Ubuntu (19.10 oder neuer), Amazon Linux 2, Mac OS (über Homebrew) und einige andere Betriebssysteme verfügbar, oder Sie können Binärversionen von der Versionsseite herunterladen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.