Amazon web services 将docker集装箱从locak推至aws ecr

Amazon web services 将docker集装箱从locak推至aws ecr,amazon-web-services,docker,amazon-ecr,Amazon Web Services,Docker,Amazon Ecr,当我尝试将带标签的docker回购推送到ecr时,我收到错误: ->  ~  docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com:latest

当我尝试将带标签的docker回购推送到ecr时,我收到错误:

 ->  ~  docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com:latest                                                                                                                                                                                           1 ↵  1834  00:14:14
The push refers to repository [docker.io/library/169729465422.dkr.ecr.eu-west-1.amazonaws.com]
a41ec2e4dc40: Preparing
62b872ff53d4: Preparing
a628002c2154: Preparing
9f15c5e37d02: Preparing
efdebd147565: Preparing
32411a9a984e: Waiting
1bd26e8168dc: Waiting
ffc9b21953f4: Waiting
denied: requested access to the resource is denied
用户具有推送图像的所有权限?:

我已按照以下步骤标记图像:

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

docker tag cda-flask-app:latest 169729465422.dkr.ecr.eu-west-1.amazonaws.com

docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com
我已经按照文档使用aws configure配置了CLI。我不认为我遗漏了任何步骤,但是当我尝试推送映像时,我收到了权限问题。为了将图像从本地推送到ecr,是否需要完成iextra步骤

更新:

使用:

docker tag cda-flask-app:latest 169729465422.dkr.ecr.eu-west-1.amazonaws.com       

docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com/cda-flask-app:latest
返回错误:

The push refers to repository [169729465422.dkr.ecr.eu-west-1.amazonaws.com/cda-flask-app]
a41ec2e4dc40: Preparing
62b872ff53d4: Preparing
a628002c2154: Preparing
9f15c5e37d02: Preparing
efdebd147565: Preparing
32411a9a984e: Waiting
1bd26e8168dc: Waiting
ffc9b21953f4: Waiting
name unknown: The repository with name 'cda-flask-app' does not exist in the registry with id '169729465422'

问题在于图像名称。If应采用
存储库/image:tag
的形式

在您的情况下,它应该是
169729465422.dkr.ecr.eu-west-1.amazonaws.com/myimage:latest

在没有
/
的情况下,docker尝试将图像
169729465422.dkr.ecr.eu-west-1.amazonaws.com
latest
标记一起推送到默认注册表
docker.io

在将图像推送到ECR之前,您需要使用“创建存储库”按钮在ECR控制台中创建“存储库”:
不过,可能有点晚了:

您的ECR存储库应该像您的图像一样命名,因此如果您推

docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com/cda-flask-app:latest

那么您在ECR中的存储库也应该命名为cda flask app。这就是docker找不到正确存储库的原因。

谢谢,请查看问题更新,我是否正确地遵循了您的说明?是的,但您需要首先在ACR中创建“存储库”。术语“存储库”有点误导,因为ECR应该已经是一个存储库了,但我真的不知道如何命名它。