Apple Silicon AWS Fargate ECS 在推送 AMD64 映像时出现错误 400

问题描述 投票:0回答:1

我的全新 M3 Pro 有问题:(

我有一个用 php 编写的 web 应用程序,并正确地进行了 Docker 化。 docker-compose、docker-watch 工作起来很有魅力。但是,如果它尝试将应用程序部署到 AWS 的 ECS(以前的 Fargate),我总是会看到此错误:

.
.
d3b3296fbfd2: Pushed
58a73444ef77: Pushed
db344eee10a7: Pushed
failed commit on ref "manifest-sha256:xxxxxxxxx": unexpected status from PUT request to https://xxxxxxxx.dkr.ecr.eu-central-1.amazonaws.com/v2/cdk-xxxxx-container-assets-xxxxxx-eu-central-1/manifests/xxxxxxxx: 400 Bad Request
phpFargate2:  fail: docker push xxxxxx.dkr.ecr.eu-central-1.amazonaws.com/cdk-xxxxx-container-assets-xxx-eu-central-1:xxxxxxxxxxxxx exited with error code 1: failed commit on ref "manifest-sha256:xxxxxxxxxxxxxx": unexpected status from PUT request to https://xxx.dkr.ecr.eu-central-1.amazonaws.com/v2/cdk-xxxxx-container-assets-xxx-eu-central-1/manifests/xxxxxxxx: 400 Bad Request

我已经添加了

FROM --platform=linux/amd64 webdevops/php-apache-dev:8.2 AS php-with-node

到我的 Dockerfile,并且我启用了 Rosetta。

我也删除了

credsStore: osxKeyChain

来自 .docker/docker-config.json

在 Elastic Container Registry 中,镜像大小显示为 0 字节。

我还尝试分别在 ECR 中进行身份验证

aws ecr get-login-password --region eu-central-1 --profile xxx | docker login --username AWS --password-stdin xxx.dkr.ecr.eu-central-1.amazonaws.com
我得到
Login Succeeded!

aws sts get-caller-identity --profile xxx
也成功了

也许你们中的任何人都可以帮助我,因为我已经没有主意了。

注意:从 Windows 推送不会显示这些问题。所以这次是相反的......

问候, 阿德里安

amazon-ecr apple-silicon
1个回答
0
投票

我终于在这篇文章的帮助下修复了它

错误:无法解决:参考提交失败:意外状态:400 错误请求

“技巧”基本上是在 ECR 设置中禁用“标签不变性”。

感谢您的帮助 阿德里安

© www.soinside.com 2019 - 2024. All rights reserved.