In diesem Schritt lernen wir, wie man die Plattformen definiert, die ein Build-Knoten unterstützt. Dies ist entscheidend für die Erstellung von Multi-Architektur-Images. Standardmäßig unterstützt ein Knoten nur die Architektur des Hostsystems, auf dem er läuft. Mit Buildx können Sie jedoch Knoten für zusätzliche Plattformen mittels Emulation (z.B. QEMU) konfigurieren.
Zuerst untersuchen wir den im vorherigen Schritt erstellten custombuilder
, um die unterstützten Plattformen seines Knotens anzuzeigen.
docker buildx inspect custombuilder
Suchen Sie im Output nach dem Feld "Platforms". Es sollte die native Architektur Ihrer LabEx-VM anzeigen (z.B. linux/amd64
).
Nun aktualisieren wir den Knoten node1
innerhalb von custombuilder
, um zusätzliche Plattformen zu unterstützen. Dazu verwenden wir den Befehl docker buildx create
mit den Flags --append
und --platform
. Wir fügen Unterstützung für linux/arm64
und linux/riscv64
hinzu.
docker buildx create --name custombuilder --append --node node1 --platform linux/arm64,linux/riscv64
Beachten Sie, dass wir --append
mit dem bestehenden Builder-Namen und Knotennamen verwenden. Dieser Befehl aktualisiert den vorhandenen Knoten node1
innerhalb von custombuilder
, um die angegebenen Plattformen einzubeziehen.
Lassen Sie uns den Builder erneut untersuchen, um die aktualisierten Plattformen für node1
zu sehen.
docker buildx inspect custombuilder
Das Feld "Platforms" für node1
sollte nun linux/amd64
, linux/arm64
und linux/riscv64
enthalten. Dies bedeutet, dass dieser Knoten nun in der Lage ist, Images für diese Architekturen zu erstellen.