【Docker】WindowsでビルドしたDockerイメージがAWSで使えなかった

発生したこと

Docker や ECS の勉強中。

Windows でビルドした Docker イメージを、ECR にプッシュして、
それをベースイメージにして CodeBuild でビルドしようとしたら

[Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

原因

ビルドした環境とCPUアーキテクチャが違うから発生しているらしい。
適当に選ばないでちゃんと適切なものを選択しないとだめだな…。

  • x86_64
    インテル社が発表したx86アーキテクチャを64ビットに拡張したもの。
  • aarch64
    スマートフォンやタブレットなどで多く使われるARMアーキテクチャを64ビットに拡張したもの。

解決方法

CodeBuild の環境イメージを
aws/codebuild/amazonlinux2-aarch64-standard:2.0

aws/codebuild/amazonlinux2-x86_64-standard:4.0
に変更したら、ビルド成功した。

参考

CodeBuild に用意されている Docker イメージ

Hugo で構築されています。
テーマ StackJimmy によって設計されています。