エラー:Dockerドライバは現在マルチプラットフォーム機能をサポートしていません。別のドライバに切り替えます(例:「docker buildx create --use」)

エラー:Dockerドライバは現在マルチプラットフォーム機能をサポートしていません。別のドライバに切り替えます(例:「docker buildx create --use」)

buildx build --platform=linux/arm64,linux/amd64最新の更新後に docker コマンドを使用するとエラーが発生することがあります。

ERROR: multiple platforms feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")

ベストアンサー1

docker buildx createビルダーを作成するには、コマンドで明示的なプラットフォームを使用する必要があります。

docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
docker buildx inspect --bootstrap
docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile .

docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder- このコマンドは新しいビルダーインスタンスを作成します。この場合、linux/arm64 プラットフォームと linux/amd64 プラットフォームの両方をサポートします。 --name フラグはビルダー "multi-platform-b​​uilder" の名前を設定します。

docker buildx inspect --bootstrap このコマンドは、前のステップで生成されたビルダーを確認し、必要な設定または構成を実行します。 --bootstrap フラグは、ビルダーがまだ初期化されていない場合に初期化する必要があることを示します。

docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile . このコマンドは、以前に作成されたビルダーを使用してDockerイメージをビルドします。

  • この--platformフラグは、最初のコマンドと同様に、イメージを構築する必要があるプラットフォームを指定します。
  • この--pushフラグは、ビルドされたイメージをコンテナーレジストリにプッシュする必要があることを示します。
  • --tagフラグは画像のタグを設定します(この場合は「project-name:latest」)。
  • この-fフラグは、イメージを構築するために使用されるDockerfileのパスを指定します(この場合は「./project-name/Dockerfile」)。
  • 最後の「.」は、イメージに追加するファイルを含むディレクトリであるビルドコンテキストを表します。

おすすめ記事