2015-11-23 2 views
2
[email protected]:~$ sudo docker run sqldb 
exec format error 
Error response from daemon: Cannot start container 4e1b251d50ceda05f7b4dd0d3eebd13a731bab0f9a5ed4486f4303d8b5f5b272: [8] System error: exec format error 

Я пытаюсь запустить изображение, которое показывает эту ошибку, но когда я запускаю одно и то же изображение в интерактивном режиме, он работает успешно.Ошибка ответа от демона: не удается запустить контейнер

Знаете ли вы, почему?

+0

Как правило, это связано с несоответствием между 64-битным изображением и архитектурой хоста 32 бита ... но это не объясняет, почему оно работает в интерактивном режиме. какой у вас хост и какая версия докера? – VonC

ответ

0

Попробуйте выполнить команду, используя изображение TAG, выполните docker images и получите свой TAG.

sudo docker run sqldb:1.0 

Может быть, вам нужна начальная команда слишком

1

Это сообщение выдается, когда ядро, по каким-либо причинам, не знает, как справиться с данной исполняемый формат. Это проблема, которая часто связана со сценариями, которые не включают строку shebang, или двоичные файлы, которые несовместимы с вашей системой.

Поскольку вы можете запускать изображение в интерактивном режиме, у вас, вероятно, есть плохо написанный скрипт где-то в вашем контейнере.

См: https://github.com/moby/moby/issues/10668

0

Я имел эту проблему только сейчас, в Alpine 3.5 контейнера работающем в хозяине Mint 18. Это не очень полезная ошибка, и, насколько я могу судить, нет возможности проверять журналы, если контейнер не запущен.

Проблема была эта линия в моем Dockerfile:

ENTRYPOINT ["sleep 500"] 

Я использую sleep в настоящее время, так что я могу выложить в контейнер и установить несколько вещей экспериментально, прежде чем совершать его в Dockerfile. На самом деле это произошло бы, если бы я попытался поместить любую команду с параметрами в одну запись ENTRYPOINT. Он должен был быть указан:

ENTRYPOINT ["sleep", "500"] 
Смежные вопросы