У меня есть один C++ binary
, который работает на локальном centos
. Недавно я начал изучать docker
и пытаться запустить свое приложение C++
на centos docker
.
Во-первых, я вытащил centos:latest
из концентратора докеров и установил на него мое приложение C++
, и оно прошло успешно, без каких-либо проблем. Теперь я установил docker на raspberry-pi, снова вытащил centos и попытался запустить на нем то же приложение, но оно выдало ошибку.
bash: невозможно выполнить двоичный файл
Обычно эта ошибка возникает, когда мы пытаемся запустить приложение на архитектуре, отличной от той, на которой они построены. Я проверил cat etc/centos-release
на Raspberry-Pi, и результат равен CentOS Linux release 7.6.1810 (AltArch)
, где результат на локальных сентосах равен CentOS Linux release 7.6.1810 (Core)
uname -a
на обоих устройствах выглядит следующим образом
Raspberry-Pi, Centos Docker Linux c475f349e7c2 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l armv7l armv7l GNU/Linux
сенто, сентос докер Linux a57f3fc2c1a6 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
EDIT:
Также file myapplication
TTCHAIN: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.24, BuildID[sha1]=287b501c8206893f7819f215ee0033586212b143, with debug_info, not stripped
У меня вопрос, как я могу запустить то же самое нативное приложение centos, вытащенное из докера на raspberry-pi модели 3.