1

我正在尝试使用 Amazon ECR 来存储我的图像。

现在,我希望我的 image:tag 能够与不同的操作系统和架构(如 linux/amd64、linux/arm64、windows 等)一起使用。

当我使用 docker 时这很好,但似乎我无法使其与 ECR 一起使用。

Docker 说您可以将其推送到不安全的注册表:
https ://docs.docker.com/engine/reference/commandline/manifest/

失败的命令:

docker buildx build --platform linux/amd64,linux/arm64 -t 5XXXXXXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com/imagename:tag --push .

此命令成功:

docker buildx build --platform linux/arm64 -t 5XXXXXXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com/imagename:tag --push .

多平台镜像可以推送到 Docker Hub。


我想知道我们如何做到这一点。这是我的想法。如果我错了,请纠正我。

我们可以创建自己的清单文件,其中包含已放置在 ECR 存储库中的图像吗?

就像是:

image: image:multi-arch
manifests:
   -
      image: 5XXXXXXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com/imagename:tag/i1-linuxamd64
      platform:
             architecture: arm64
      os: linux

   -
      image: 5XXXXXXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com/imagename:tag/i2-intelx86
      platform:
             architecture: intelx86
      os: Windows

现在我们有了一个名为image:multi-arch的新图像。然后我们使用这个图像并期望它根据清单自动获取目标架构。

如果我将此最终图像推送到 ECR,它会工作吗?难道我做错了什么?请随时纠正我。

4

2 回答 2

2

ECR 目前不支持多架构映像。您可以在 AWS Containers Roadmap 上关注此问题以获取更新。

于 2019-10-30T22:45:01.823 回答
2

推送多架构镜像:现在可用

https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-multi-architecture-image.html

于 2020-04-29T01:40:26.310 回答