Текст и данные · Инструкция
Как собрать multi-platform Docker image для linux/amd64 и linux/arm64
Это нужно, когда один тег должен запускаться и на x86-64 сервере, и на ARM-машине без ручного создания разных тегов.
Короткий ответ
Используйте Buildx с `--platform linux/amd64,linux/arm64` и подходящим builder/output. Multi-platform image хранит manifest list, из которого registry отдаёт вариант под архитектуру хоста.
Что делать
- Проверьте builder: `docker buildx ls`.
- При необходимости создайте/выберите builder с поддержкой multi-platform builds.
- Запустите `docker buildx build --platform linux/amd64,linux/arm64 -t registry.example/app:tag --push .`.
- Дождитесь сборки обеих платформ.
- Проверьте 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.