Я пытаюсь понять, как создавать образы рук на x86 здесь , но мне трудно.
Я хотел бы добиться следующего:
- Имеется один докер-файл для создания обоих образов ARM / x86.
- У меня есть команда для выполнения на агенте CI, которая явно определяет архитектуру, для которой я хочу построить свой образ.
Шаги выглядят следующим образом:
Добавить двоичный файл QEMU для ARM в базовый образ. Все предлагают использовать готовые изображения с двоичным файлом (например, resin/rpi-raspbian
)
Зарегистрируйте двоичный файл 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.
Если бы кто-то мог пролить свет на это, я был бы очень признателен.