O Que É o docker buildx? Builds Multi-Platform Facilitados
O docker buildx é o comando de build estendido que expõe o poder do BuildKit - mais notavelmente construir uma imagem para múltiplas arquiteturas de CPU de uma só vez.
O buildx é um plugin da CLI do Docker que dirige o BuildKit. Sua feature principal são os builds multi-platform: produzir uma única referência de imagem que funciona tanto em amd64 quanto em arm64. Ele também gerencia instâncias de builder e opções de cache e output mais ricas que o comando build clássico.
Builders e o build driver
O buildx funciona através de um "builder", uma instância do BuildKit que pode rodar localmente, em um container ou remotamente. docker buildx create --use configura um builder capaz de output multi-platform.
Builds multi-platform
Passe --platform linux/amd64,linux/arm64 e o buildx constrói para cada arquitetura e monta uma manifest list, então uma tag serve a ambas. Builds cross-architecture usam emulação ou nodes nativos.
Um comando típico
docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/acme/web:1.4 --push . constrói ambas as arquiteturas e faz push de uma imagem multi-arch de uma só vez.
Por que isso importa agora
- Servidores arm64 e desenvolvedores em Apple Silicon são mainstream.
- Uma tag que funciona em todo lugar simplifica os deploys.
- Builds emulados podem ser lentos, então runners arm nativos ajudam.
buildx em CI
Builds multi-arch são mais pesados que os single-arch, especialmente sob emulação. Construir cada arquitetura em um runner nativo é muito mais rápido - a Latchkey oferece runners arm e x86 nativos para que o buildx produza imagens multi-arch sem emulação lenta.
Principais conclusões
- buildx é a CLI alimentada por BuildKit para builds avançados e multi-platform.
- Um build
--platformpode produzir uma imagem multi-arch sob uma única tag. - Runners nativos batem a emulação em velocidade de build cross-architecture.