“Get-ECRLoginCommand”未被识别为 cmdlet、函数、脚本文件或可操作程序的名称

sas*_*alm 18 amazon-web-services aws-powershell

我正在尝试从 AWS 下载 Docker 映像,并按照我正在运行的AWS 上的说明进行操作:

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

Get-ECRLoginCommand : The term 'Get-ECRLoginCommand' is not recognized as the name of a cmdlet, function, script file, or operable program.
Run Code Online (Sandbox Code Playgroud)

我该如何修复这个错误?我认为我需要安装该模块。

sas*_*alm 28

经过一番搜索,我意识到我在安装AWSTools时省略了安装ECR。我使用了这两个命令:

Install-Module -Name AWS.Tools.Installer -Force
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp
Run Code Online (Sandbox Code Playgroud)

所以我安装了它:

Install-AWSToolsModule AWS.Tools.ECR
Run Code Online (Sandbox Code Playgroud)

之后就成功了。


mit*_*tsu 20

就我而言,在 AWS CLI(而不是适用于 Windows PowerShell 的 AWS 工具)上运行此命令是有效的。

aws ecr get-login-password --region [your region] | docker login --username AWS --password-stdin [your aws_account_id].dkr.ecr.[your region].amazonaws.com
Run Code Online (Sandbox Code Playgroud)