web-dev-qa-db-ja.com

docker-compose upを使用して詳細なエラーメッセージを取得する方法「コマンドがゼロ以外のコードを返しました」しか表示されない

Linuxでdocker-containerを実行しようとしています。ビルド中に、次のコマンドを実行するとエラーが発生します。

Sudo docker-compose -f docker-compose.yml up --build

docker-composeは次のメッセージを表示します。

Step 10/19 : RUN dotnet restore "test/test.csproj"
 ---> Running in ea65364853f3
standard_init_linux.go:211: exec user process caused "exec format error"
ERROR: Service 'test' failed to build: The command '/bin/sh -c dotnet restore "test/test.csproj"' returned a non-zero code: 1

詳細なエラーメッセージを表示する方法はありますか?

1
Piotrek

エラーはビルドプロセス中に発生しています。 docker-compose buildを実行すると、同じ結果が表示されます。

このエラー:

standard_init_linux.go:211: exec user process caused "exec format error"

dockerはdotnet実行可能ファイルをコンテナー内で実行しようとしましたが、イメージ内のdotnetバイナリーがコンテナー内の環境と互換性がないため、開始できませんでした。たぶん、それは別のアーキテクチャ、またはそのようなもののためにコンパイルされていますか?残りのビルドプロセス(ステップ1〜9)を表示すると、おそらく問題を見つけることができます。

2
Matt Zimmerman

RUNコマンドは次のように機能すると言われているため、イメージを取得し、コンテナーContainerAを作成し、このコンテナーでコマンドを実行して、新しいイメージImageBを生成します。 ContainerAを削除し、ContainerBを作成します...これで1つの実行で終了するため、containerXを残しておく必要があります。したがって、次のようなログが表示されます。

docker build -t <yourname>:<tag>

エラー時に終了

docker logs <yourname>

詳細なエラーログは次のとおりです。

0
Tiina