Запуск 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

Другие вопросы по тегам