我最近在 AWS ECR 中创建了一个新存储库,并尝试推送图像。我正在复制/粘贴通过存储库页面上的“查看推送命令”按钮提供的说明。我将其复制到此处以供参考:
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789.dkr.ecr.us-west-2.amazonaws.com(“登录成功”)
docker build -t myorg/myapp .
docker tag myorg/myapp:latest 123456789.dkr.ecr.us-west-2.amazonaws.com/myorg/myapp:latest
docker push 123456789.dkr.ecr.us-west-2.amazonaws.com/myorg/myapp:latest
然而,当我到达这docker push一步时,我看到:
> docker push 123456789.dkr.ecr.us-west-2.amazonaws.com/myorg/myapp:latest
The push refers to repository [123456789.dkr.ecr.us-west-2.amazonaws.com/myorg/myapp]
a53c8ed5f326: Retrying in 1 second
78e16537476e: Retrying in 1 second
b7e38d172e62: Retrying in 1 second
f1ff72b2b1ca: Retrying in 1 second
33b67aceeff0: Retrying in 1 second
c3a550784113: Waiting
83fc4b4db427: Waiting
e8ade0d39f19: Waiting
487d5f9ec63f: Waiting
b24e42eb9639: Waiting
9262398ff7bf: Waiting …Run Code Online (Sandbox Code Playgroud) 我指的是官方github指南来设置自动部署到ECS https://docs.github.com/en/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-容器服务
我的deploy.yaml工作流程看起来与上面链接中的工作流程相同,只是替换了正确的环境变量
我已完成所需的所有步骤,并已在 AWS 上启动并运行所有必要的基础设施。但是当工作流程被触发时,它总是无法将 docker 镜像推送到 ECR。重试几次后,退出
EOF
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
从我在 github 操作上看到的输出,我相信登录 ecr 步骤成功,并且还可以确认它正在推送到正确的 ECR 存储库,但由于某种原因推送失败。
我已经将图像推送到本地存储库并且它可以工作,所以我认为 AWS 方面没有任何问题。