n1ro°
RU

Текст и данные · Инструкция

Как собрать multi-platform Docker image для linux/amd64 и linux/arm64

Это нужно, когда один тег должен запускаться и на x86-64 сервере, и на ARM-машине без ручного создания разных тегов.

Редакция N1RO · Проверено

Короткий ответ

Используйте Buildx с `--platform linux/amd64,linux/arm64` и подходящим builder/output. Multi-platform image хранит manifest list, из которого registry отдаёт вариант под архитектуру хоста.

Что делать

  1. Проверьте builder: `docker buildx ls`.
  2. При необходимости создайте/выберите builder с поддержкой multi-platform builds.
  3. Запустите `docker buildx build --platform linux/amd64,linux/arm64 -t registry.example/app:tag --push .`.
  4. Дождитесь сборки обеих платформ.
  5. Проверьте manifest/платформы опубликованного тега подходящей командой Docker.

Важно

  • Эмуляция QEMU может быть заметно медленнее native build.
  • Некоторые builder drivers не загружают multi-platform результат напрямую в локальный image store — часто нужен `--push`.

Что учитывать

Эмуляция QEMU может быть заметно медленнее native build.,Некоторые builder drivers не загружают multi-platform результат напрямую в локальный image store — часто нужен `--push`.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Multi-platform builds). Пример и формулировки — редакция N1RO на 2026-09-18.