En este paso, aprenderemos cómo especificar las plataformas que soporta un nodo de construcción. Esto es crucial para construir imágenes multi-arquitectura. Por defecto, un nodo soportará la arquitectura del host en el que se ejecuta. Sin embargo, con Buildx, puedes configurar nodos para soportar plataformas adicionales usando emulación (como QEMU).
Primero, inspeccionemos el custombuilder
que creamos en el paso anterior para ver las plataformas soportadas por su nodo.
docker buildx inspect custombuilder
Busca el campo "Platforms" en la salida. Debería mostrar la arquitectura nativa de tu LabEx VM (ej. linux/amd64
).
Ahora, actualicemos el node1
dentro de custombuilder
para soportar plataformas adicionales. Podemos usar el comando docker buildx create
con la bandera --append
y la bandera --platform
. Añadiremos soporte para linux/arm64
y linux/riscv64
.
docker buildx create --name custombuilder --append --node node1 --platform linux/arm64,linux/riscv64
Nota que estamos usando --append
con el nombre existente del constructor y del nodo. Este comando actualiza el nodo existente node1
dentro de custombuilder
para incluir las plataformas especificadas.
Inspeccionemos nuevamente el constructor para ver las plataformas actualizadas de node1
.
docker buildx inspect custombuilder
El campo "Platforms" para node1
debería ahora incluir linux/amd64
, linux/arm64
y linux/riscv64
. Esto significa que este nodo ahora es capaz de construir imágenes para estas arquitecturas.