ノードがサポートするプラットフォームの設定
このステップでは、ビルドノードがサポートするプラットフォームを指定する方法を学びます。これはマルチアーキテクチャイメージを構築する上で重要です。デフォルトでは、ノードは実行されているホストのアーキテクチャのみをサポートします。しかし Buildx を使用すると、QEMU などのエミュレーションを使って追加のプラットフォームをサポートするようにノードを設定できます。
まず、前のステップで作成したcustombuilder
を検査して、そのノードがサポートするプラットフォームを確認しましょう。
docker buildx inspect custombuilder
出力の"Platforms"フィールドを確認してください。LabEx VM のネイティブアーキテクチャ(例:linux/amd64
)が表示されるはずです。
次に、custombuilder
内のnode1
を更新して追加のプラットフォームをサポートさせます。docker buildx create
コマンドに--append
フラグと--platform
フラグを使用します。ここではlinux/arm64
とlinux/riscv64
のサポートを追加します。
docker buildx create --name custombuilder --append --node node1 --platform linux/arm64,linux/riscv64
既存のビルダー名とノード名に対して--append
を使用している点に注意してください。このコマンドはcustombuilder
内の既存ノードnode1
を更新し、指定されたプラットフォームを含めるようにします。
再度ビルダーを検査して、node1
の更新されたプラットフォームを確認しましょう。
docker buildx inspect custombuilder
node1
の"Platforms"フィールドには、linux/amd64
、linux/arm64
、linux/riscv64
が含まれるようになります。これにより、このノードはこれらのアーキテクチャ向けのイメージを構築できるようになります。