Создание образов с использованием Qemu для ARM / x86 на x86 - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь понять, как создавать образы рук на x86 здесь , но мне трудно.

Я хотел бы добиться следующего:

  • Имеется один докер-файл для создания обоих образов ARM / x86.
  • У меня есть команда для выполнения на агенте CI, которая явно определяет архитектуру, для которой я хочу построить свой образ.

Шаги выглядят следующим образом:

  1. Добавить двоичный файл QEMU для ARM в базовый образ. Все предлагают использовать готовые изображения с двоичным файлом (например, resin/rpi-raspbian)

  2. Зарегистрируйте двоичный файл QEMU в агенте сборки CI, выполнив следующую команду: docker run --rm --privileged multiarch/qemu-user-static:register -- reset

Помимо того, что я не понимаю всей магии под этими двумя шагами, я вроде понимаю шаг 2 после того, как попробовал его на своем ноутбуке: Он генерирует набор двоичных файлов, которые необходимо использовать для моделирования желаемой архитектуры.

  • Если я генерирую двоичные файлы с помощью команды на шаге 2, зачем мне нужен образ с двоичным файлом QEMU для ARM?
  • Мой текущий базовый образ - debian:strech, и я могу успешно сгенерировать ARM-изображение на устройстве ARM. Зачем мне нужно использовать специфичное для ARM изображение? Разве я не могу достичь того, что мне нужно, держа debian:strech? Я спрашиваю об этом, потому что я хотел бы иметь один файл докера для создания образов для x86 и ARM.

Если бы кто-то мог пролить свет на это, я был бы очень признателен.

...