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.