arm64 zonder QEMU
Beeldopbouw met meerdere architectuur
Bouw elke architectuur op native hardware en publiceer één manifestlijst. Geen emulatieboete.
Overal inheems
amd64 bouwt voort op amd64, arm64 bouwt voort op arm64. Zoals het had moeten zijn.
Eén manifest
Digesten worden samengevoegd tot één enkele tag die consumenten normaal trekken.
5×–40× sneller
Hoeveel precies hangt af van hoeveel uw afbeelding compileert.
QEMU-emulatie is het standaardpad voor multi-arch-builds en het is de reden dat zoveel teams stilletjes arm64-ondersteuning hebben laten vallen. Het emuleren van een volledige compilertoolketen is zo traag als het klinkt.
Veelgestelde vragen
- Waarom is QEMU zoveel langzamer?
- Het vertaalt elke arm64-instructie tijdens runtime naar x64, dus de straf wordt geschaald met het aantal instructies dat uw build uitvoert. Een afbeelding voor het kopiëren van bestanden is ongeveer 3× langzamer; een Rust- of C++-build is 35–40× langzamer.
- Hoe publiceer ik één tag voor beide architecturen?
- Bouw elke architectuur op zijn eigen native runner, push by digest en voeg hem vervolgens samen met docker buildx imagetools create. Consumenten trekken normaal aan het label.
- Heb ik aparte caches per architectuur nodig?
- Ja, en ze worden automatisch gescheiden. Neem runner.arch ook op in elke actie/cachesleutel, anders produceert een x64-cache die op arm64 wordt hersteld verwarrende linkerfouten in plaats van een schone misser.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.