buruh pelabuhan masuk bendera singkatan yang tidak diketahui: 'e'

121

Saya baru saja memperbarui versi buruh pelabuhan saya dan menemukan perintah itu

aws ecr get-login

tidak berfungsi lagi. Mendapat kesalahan:

panji singkatan yang tidak diketahui: 'e' in -e`. Tampaknya buruh pelabuhan tidak lagi mendukung -e flag.

Apakah ada cara untuk memperbaikinya?

Versi yang diinstal:

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
sumber
1
Dan inilah mengapa kami tidak menggunakan opsi pendek di antarmuka kami, skrip, dan apa pun yang mungkin terlintas di mata pengguna yang tidak mengingat dengan sempurna setiap opsi baris perintah dari alat yang digunakan. Ini mungkin di luar topik, tetapi saya pikir penting untuk ditekankan, karena setiap pengembang perangkat lunak yang menemukan pertanyaan seperti ini perlu membuat koneksi ini, dan terlalu banyak yang tidak. (Karena jika opsi yang diteruskan ke buruh pelabuhan adalah sesuatu seperti --email, itu akan mengurangi upaya dan meningkatkan kemungkinan pengguna menemukan --no-include-emailsendiri.)
mtraceur

Jawaban:

201

tambahkan ini ke panggilan Anda

--no-include-email

berikut adalah sintaks baru yang valid:

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

Opsi baru ini tersedia di AWS CLI mulai versi 1.11.91 yang dirilis pada 23/05/2017 ... terbitkan ini untuk meningkatkan:

pip install --upgrade awscli

lihat detailnya di sini

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

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

kutipan :

"Anda seharusnya menerima pemberitahuan email dari Amazon sekitar 23 Mei 2017 tentang --no-include-emailbendera baru aws ecr get-loginuntuk kompatibilitas dengan [Docker] 17.06.0"

Misalnya setelah saya mengeluarkan berikut

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

itu menunjukkan kepada saya output berikut

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

jadi untuk menyelesaikan login buruh pelabuhan ke repositori aws salin N tempel di atas kembali ke terminal yang sama, sesuai ...

 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

sekarang Anda masuk ke repositori buruh pelabuhan aws

Scott Stensland
sumber
4
Perhatikan bahwa ini mungkin memerlukan pembaruan awscli ke versi terbaru.
broofa
3
sudo pip install --upgrade awscli
Phil Strong
1
Kalian menyelamatkan saya <3
DaniG2k
1
Orang-orang seperti adalah yang menyelamatkan jiwa-jiwa miskin dengan tenggat waktu di sini. Terima kasih
Alfonso Pérez
1
Untuk beberapa alasan, menjalankan pip install --upgrade awsclitidak memperbarui aws dan --no-include-emailopsinya tidak dikenali. Saya harus menggunakan jawaban dari amazia di bawah
Jonathan Morales Vélez
18

jika karena alasan tertentu Anda tidak dapat memutakhirkan versi awscli, Anda dapat melakukan sedikit manipulasi string agar berfungsi untuk Anda dengan sed.

sebagai contoh:

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

ini akan menghilangkan tanda -e yang tidak didukung dan Anda seharusnya bisa masuk.

amazia
sumber
1
itu berhasil untuk saya. masih penasaran untuk mengetahui mengapa gagal karena hal '-e'
Shree Prakash
@ShreePrakash hanya versi lama dari program cli
Alexander Mills
7

Saya memiliki masalah yang sama namun mengikuti jawaban Scott Stensland tidak menyelesaikannya.

Jika itu akan terjadi pada orang lain, menghapus '-e none' dari perintah menyelesaikan masalah.

Asafm
sumber
1
Bekerja untuk saya ...
codersofthedark
Jawaban yang Anda rujuk menyarankan --no-include-emailuntuk menambahkan ecr loginperintah. Efek ini justru turun -e nonedari docker loginperintah yang dikeluarkannya.
dsclose
1

Jalankan pernyataan login.

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

Kemudian, hapus bendera dan nilai -e nonedari pernyataan yang dihasilkan. Jadi, apa yang Anda jalankan akan terlihat seperti ...

docker login -u AWS -p <long password hash> https://<image ID>.dkr.ecr.us-west-2.amazonaws.com 
openwonk
sumber
1
Menambahkan --no-include-email ke ecr get-loginperintah menghilangkan -e nonedari dari output.
dsclose
1

Jika Anda memilih untuk menghindari menyegarkan token autentikasi Anda secara manual aws ecr get-login, Anda dapat menginstal pembantu kredensial Amazon ECR sebagai gantinya. Pembantu kredensial akan menangani pengambilan dan pembaruan token secara otomatis sehingga Anda tidak perlu menyegarkannya sendiri. Paket tersedia untuk Debian (Buster atau yang lebih baru), Ubuntu (19.10 atau yang lebih baru), Amazon Linux 2, Mac OS (melalui Homebrew), dan beberapa sistem operasi lainnya, atau Anda dapat mengunduh rilis biner dari halaman rilis .

Samuel Karp
sumber