Запуск Docker-контейнера в nanoPI приводит к "ошибке формата exec"
Цель состоит в том, чтобы запускать Docker-контейнеры на моем nanoPI таким же образом, как и на сервере с Ubuntu.
Я недавно столкнулся со следующей ошибкой при попытке docker run -it kylemanna/openvpn
:
standard_init_linux.go:185: exec user process caused "exec format error"
Я также получаю ту же ошибку при выполнении docker-compose
используя контейнерный подход
Поскольку у меня возникает проблема, использую ли я docker compose или нет, я начинаю думать, что ошибка может заключаться в том, что я использую docker в nanoPI. Это может не поддерживаться таким же образом.
Тем не менее, я могу нормально выполнять другие контейнеры / изображения, hello-world
, ubuntu
, так далее.
Как мне определить причину этой ошибки? Где находится исходный код standard_init_linux.go:185
? И что я делаю неправильно?
1 ответ
Методом проб и ошибок я обнаружил, что если я перестроил образ openvpn непосредственно из репозитория github на машине, с которой будет работать контейнер (docker build <url>
), то эта ошибка была разрешена для контейнера openvpn, но не (пока) для docker-compose. Я полагаю, что перестройка контейнера docker-compose тоже решит проблему с этим.
Скорее всего, это связано с тем, что двоичный файл не был скомпилирован для используемого мной типа компьютера.
Источник / вдохновение: https://github.com/moby/moby/issues/23865