将 docker 容器从本地推送到 aws ecr
Push docker container from locak to aws ecr
当我尝试将我标记的 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
我已经根据文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration 使用 aws configure
配置了 CLI。我不相信我遗漏了任何步骤,但是当我尝试推送图像时,我收到了权限问题。为了将图像从本地推送到 ecr,我需要完成额外的步骤吗?
更新:
使用:
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
returns 错误:
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'
图像名称有问题。如果应该是repository/image:tag
.
的形式
你的情况应该是 169729465422.dkr.ecr.eu-west-1.amazonaws.com/myimage:latest
。
没有 /
,docker 尝试将带有 latest
标签的图像 169729465422.dkr.ecr.eu-west-1.amazonaws.com
推送到默认注册表 docker.io
。
在将图像推送到 ECR 之前,您需要使用 "Create repository button" 在 ECR 控制台中创建 "repository":
可能有点晚了,但是:
您的 ECR 存储库应该像您的图像一样命名,所以如果您推送
docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com/cda-flask-app:latest
那么您在 ECR 中的存储库也应该命名为 cda-flask-app。这就是 docker 找不到正确存储库的原因。
当我尝试将我标记的 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
我已经根据文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration 使用 aws configure
配置了 CLI。我不相信我遗漏了任何步骤,但是当我尝试推送图像时,我收到了权限问题。为了将图像从本地推送到 ecr,我需要完成额外的步骤吗?
更新:
使用:
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
returns 错误:
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'
图像名称有问题。如果应该是repository/image:tag
.
你的情况应该是 169729465422.dkr.ecr.eu-west-1.amazonaws.com/myimage:latest
。
没有 /
,docker 尝试将带有 latest
标签的图像 169729465422.dkr.ecr.eu-west-1.amazonaws.com
推送到默认注册表 docker.io
。
在将图像推送到 ECR 之前,您需要使用 "Create repository button" 在 ECR 控制台中创建 "repository":
可能有点晚了,但是:
您的 ECR 存储库应该像您的图像一样命名,所以如果您推送
docker push 169729465422.dkr.ecr.eu-west-1.amazonaws.com/cda-flask-app:latest
那么您在 ECR 中的存储库也应该命名为 cda-flask-app。这就是 docker 找不到正确存储库的原因。