Есть ли способ использовать docker manifest-list для создания мультиархитектурных образов в ECR?

Я пытаюсь использовать Amazon ECR для хранения своих изображений.

Теперь я хочу, чтобы мой тег image: работал с разными операционными системами и архитектурами, такими как linux/amd64, linux/arm64, windows и т. Д.

Это нормально, когда я использую докер, но, похоже, я не могу заставить его работать с ECR.

Докер говорит, что вы можете отправить его в небезопасный реестр:
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, оно будет работать? Я делаю что-то неправильно? Пожалуйста, поправьте меня.

2 ответа

Решение

ECR в настоящее время не поддерживает многоархитектурные образы. Вы можете следить за этой проблемой в дорожной карте AWS Containers для получения обновлений.

Распространение мультиархитектурного образа: теперь доступно

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

Другие вопросы по тегам