AWSを使い始めてCodeBuild & ECS を試していた際、表題のエラーに遭遇し、思いのほか時間を浪費してしまったのでメモっておきます。自分だけかな、ここでハマるのは。。
事象
ECSにコンテナをデプロイするとAWSコンソールの、ECSのクラスター → タスクの画面でステータスが RUNNING になったと思ったらすぐ STOPPED になる。そして、また別のタスクが RUNNING → STOPPED ・・・ 以降、無限ループの状態となりました。

タスク → ログ を確認すると

standard_init_linux.go:211: exec user process caused "exec format error"
というエラーが出力されていました。
原因
Dockerfileで使用していたイメージとCodebuildで指定したビルド環境のCPUアーキテクチャが異なっていたため。
【Dockerfile 例】
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
CMD ["httpd-foreground"]
httpd:2.4 はアーキテクチャが指定されてないとamd64(x86-64) でビルドされます。
【AWSのビルド環境 例】

手が滑ったのかよく見てなかったのかなんなのか、aarch64(arm64) を指定しておりhttpdイメージと異なるアーキテクチャであったためエラーとなっていた形でした。
この例では amazonlinux2-x86_64 のイメージを選択すれば正常にビルドが完了します。
なお、このエラーはentrypoint.sh に shebang(例: #!/bin/sh ) がないときも出るようです。
余談
Codebuildではもう一つ
Step 3/3 : CMD ["httpd-foreground"]
---> Running in 0672c1e1531e
Removing intermediate container 0672c1e1531e
---> f8cd04edae75
Successfully built f8cd04edae75
Successfully tagged test-2:latest
Running command docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
"docker tag" requires exactly 2 arguments.
See 'docker tag --help'.
Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Command did not exit successfully docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG exit status 1
Phase complete: BUILD State: FAILED
のように ”docker tag” requires exactly 2 arguments. というエラーにも遭遇しました。
公式サイトのサンプル 通りbuildspec.ymlの設定を環境変数から読み込むようにしていたのですが、(自分の場合は)AWS_ACCOUNT_ID の最後に半角スペースが入っていたためでしたorz
先人の方々のおかげてすぐ抜け出せましたが(感謝)、自力解決だったらおそらく結構時間を浪費したとおもいます。なんかスペースが混じってるぅ系の問題だったので。。
まとめ
慌てず正確に入力・選択しましょう!の一言に尽きる。。。
参考
(*ゝω・)ノ ァリガトネー
Raspberry Pi上のDockerで動くイメージのCIでのビルド方法 – Qiita
AWS CodeBuildで失敗したときに確認するポイント – Qiita
Docker – Dockerでエラーが出る:standard_init_linux.go:207: exec user process caused “exec format error”|teratail