Vai al contenuto

arm64 senza QEMU

Build di immagini multi-architettura

Costruisci ogni architettura su hardware nativo e pubblica un elenco di manifest. Nessuna penalità per l'emulazione.

Nativo ovunque

amd64 si basa su amd64, arm64 si basa su arm64. Come avrebbe dovuto essere.

Un manifesto

I digest si uniscono in un unico tag che i consumatori estraggono normalmente.

5×–40× più veloce

Quanto dipende esattamente da quanto viene compilata la tua immagine.

Domande frequenti

Perché QEMU è molto più lento?
Traduce ogni istruzione arm64 in x64 in fase di esecuzione, quindi la penalità aumenta in base al numero di istruzioni eseguite dalla build. Un'immagine di copia di file è circa 3 volte più lenta; una build Rust o C++ è 35–40 volte più lenta.
Come posso pubblicare un tag per entrambe le architetture?
Crea ogni architettura sul proprio runner nativo, esegui push tramite digest, quindi unisci con docker buildx imagetools create. I consumatori tirano normalmente il tag.
Ho bisogno di cache separate per architettura?
Sì, e sono separati automaticamente. Includere runner.arch anche in qualsiasi chiave action/cache, altrimenti una cache x64 ripristinata su arm64 produce errori confusi del linker piuttosto che un errore pulito.

La tua prossima build potrebbe essere due volte più veloce, a metà prezzo

Inizia gratis. Andarsene è la stessa riga, e pubblichiamo anche quel diff.