Назад | Перейти на главную страницу

Как получить подробное сообщение об ошибке с помощью docker-compose up? Я вижу только «команда вернула ненулевой код»

Я пытаюсь запустить свой докер-контейнер на Linux. Во время сборки я обнаружил ошибку после выполнения этой команды:

sudo docker-compose -f docker-compose.yml вверх --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

Есть ли способ увидеть подробное сообщение об ошибке?

Ошибка возникает в процессе сборки. Вы должны увидеть те же результаты, когда запустите docker-compose build.

Эта ошибка:

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

означает, что Docker пытался запустить dotnet исполняемый файл внутри контейнера, но он не может запуститься, потому что dotnet двоичный файл в образе несовместим со средой в контейнере. Возможно, он скомпилирован для другой архитектуры или что-то в этом роде? Если вы покажете остальную часть процесса сборки (шаги 1–9), мы, вероятно, сможем определить проблему за вас.

Так как RUN говорят, что команды работают следующим образом: получить изображение, создать контейнер ContainerA, запустить вашу команду в этом контейнере и сгенерировать новый образ ImageB. удалить ContainerA, создать ContainerB ... Теперь он завершается за один RUN, поэтому он должен оставить containerX позади. Следовательно, вы можете увидеть такой журнал:

docker build -t <yourname>:<tag>

выйти при ошибке

docker logs <yourname>

вот ваш подробный журнал ошибок.