首页 > 解决方案 > AWS ECR get-login-password - Ubuntu 18.04 上的无效选择

问题描述

尝试在 中运行get-login-password命令时aws ecr,我收到一条消息说这是一个无效的选择:

$ aws --region=us-west-1 ecr get-login-password
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: argument operation: Invalid choice, valid choices are:

batch-check-layer-availability           | batch-delete-image                      
batch-get-image                          | complete-layer-upload                   
create-repository                        | delete-lifecycle-policy                 
delete-repository                        | delete-repository-policy                
describe-images                          | describe-repositories                   
get-authorization-token                  | get-download-url-for-layer              
get-lifecycle-policy                     | get-lifecycle-policy-preview            
get-repository-policy                    | initiate-layer-upload                   
list-images                              | put-image                               
put-lifecycle-policy                     | set-repository-policy                   
start-lifecycle-policy-preview           | upload-layer-part                       
get-login                                | help            

这是仅限 Mac 的工具吗?ECR 似乎已安装,但问题是get-login-password. 我通过这些说明安装了最新的 AWS 客户端https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html

标签: ubuntuaws-cliamazon-ecr

解决方案


AWS CLI 目前有两个版本可用,get-login-password仅在SDK/CLI的v2中可用。

aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin 123456789.dkr.ecr.eu-west-1.amazonaws.com

以前的版本v1使用以下命令。aws ecr get-login

eval $(aws ecr get-login --registry-ids 123456789 --region eu-west-1 --no-include-email)

您可以使用aws --version来检查当前安装的 CLI 版本。

aws --version
aws-cli/2.0.38 Python/3.7.4 Darwin/20.3.0 exe/x86_64

根据您的问题,这是“仅限 Mac”的工具吗?这不适用于 Windows、Mac 和 Linux 以及 x86 和 ARM 架构。

我刚刚运行了他们的安装命令,它对我有用。

root@Dummy:~# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 35.8M  100 35.8M    0     0  8827k      0  0:00:04  0:00:04 --:--:-- 8827k
root@Dummy:~# unzip awscliv2.zip
Archive:  awscliv2.zip
   creating: aws/
   creating: aws/dist/
  inflating: aws/README.md
  inflating: aws/THIRD_PARTY_LICENSES
  inflating: aws/install
   creating: aws/dist/_struct/
   creating: aws/dist/awscli/
......
root@Dummy:~#
root@Dummy:~#
root@Dummy:~# aws --version
aws-cli/2.1.37 Python/3.8.8 Linux/5.4.34-1-pve exe/x86_64.ubuntu.20 prompt/off
root@Dummy:~#

推荐阅读