flag scorciatoia sconosciuto login docker: 'e'


121

Ho appena aggiornato la mia versione docker e ho scoperto quel comando

aws ecr get-login

non funziona più. Errore ottenuto:

flag stenografico sconosciuto: 'e' in -e`. Sembra che la finestra mobile non supporti più -e flag.

C'è un modo per risolvere questo problema?

Versioni installate:

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
Ed è per questo che non usiamo le opzioni brevi nelle nostre interfacce, script e qualsiasi altra cosa che potrebbe mai incrociare gli occhi degli utenti che non ricordano perfettamente ogni opzione della riga di comando degli strumenti utilizzati. Potrebbe essere fuori tema, ma penso che sia importante enfatizzare, perché ogni sviluppatore di software che incontra domande come questa deve fare questa connessione, e troppe no. (Perché se l'opzione passata alla finestra mobile fosse qualcosa del genere --email, diminuirebbe lo sforzo e aumenterebbe le probabilità che gli utenti scoprano --no-include-emailda soli.)
mtraceur

Risposte:


201

aggiungilo alla tua chiamata

--no-include-email

ecco la nuova sintassi valida:

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

Questa nuova opzione è disponibile in AWS CLI a partire dalla versione 1.11.91 rilasciata il 23/05/2017 ... emettere questa per eseguire l'aggiornamento:

pip install --upgrade awscli

vedere i dettagli qui

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

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

citare:

"Avresti dovuto ricevere una notifica e-mail da Amazon intorno al 23 maggio 2017 in merito al nuovo --no-include-emailflag aws ecr get-loginattivo per la compatibilità con [Docker] 17.06.0"

Ad esempio dopo aver emesso in seguito

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

mi mostra l'output seguente

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

quindi per completare l'accesso alla finestra mobile al repository aws copia N incolla sopra di nuovo nello stesso terminale, come per ...

 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

ora sei connesso al repository docker di aws


4
Nota che questo potrebbe richiedere l'aggiornamento del awscli alla versione più recente.
broofa

3
sudo pip install --upgrade awscli
Phil Strong

1
Ragazzi, mi avete salvato <3
DaniG2k

1
Persone come quelle che salvano povere anime con scadenze qui. Grazie
Alfonso Pérez

1
Per qualche motivo l'esecuzione pip install --upgrade awsclinon aggiorna aws e le --no-include-emailopzioni non vengono riconosciute. Ho dovuto usare la risposta di amazia in basso
Jonathan Morales Vélez

18

se per qualche motivo non puoi aggiornare la versione di awscli, puoi fare una piccola manipolazione delle stringhe per farlo funzionare per te con sed.

per esempio:

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

questo lascerà cadere il flag -e che non è supportato e dovresti essere in grado di accedere.


1
ha funzionato per me. ancora curioso di sapere perché è stato sbagliato perché roba '-e'
Shree Prakash

@ShreePrakash solo una versione precedente del programma cli
Alexander Mills

7

Ho avuto lo stesso problema, ma la risposta di Scott Stensland non l'ha risolto.

Nel caso in cui succeda a qualcun altro, eliminare "-e none" dal comando ha risolto il problema.


1
Ha funzionato per me ...
codersofthedark

La risposta a cui fai riferimento suggerisce di aggiungere --no-include-emailal ecr logincomando. L'effetto di questo è proprio quello di eliminare -e noneil docker logincomando che emette.
dsclose

1

Esegui l'istruzione di accesso.

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

Quindi, rimuovere il flag e il valore -e nonedall'istruzione risultante. Quindi, come sarebbe che corri ...

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

1
L'aggiunta --no-include-email al ecr get-logincomando omette il -e noneda dall'output.
dsclose

1

Se preferisci evitare di aggiornare manualmente il token di autenticazione con aws ecr get-login, puoi invece installare l' helper delle credenziali di Amazon ECR . L'helper delle credenziali si occuperà del recupero e dell'aggiornamento automatico dei token, quindi non è necessario aggiornarli da soli. I pacchetti sono disponibili per Debian (Buster o più recente), Ubuntu (19.10 o più recente), Amazon Linux 2, Mac OS (tramite Homebrew) e alcuni altri sistemi operativi, oppure puoi scaricare versioni binarie dalla pagina delle versioni .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.