Задать вопрос

Как запустить бинарник в docker контейнере Linux Alpine?

Есть докер - образ FROM alpine:3.3 в докер файле запихиваю в него сгенерированный бинарник go build main.go (GOARCH="amd64", GOOS="linux")
запускаю . /main
sh: main: not found

sh main

main: line 1: ELF: not found
main: line 2: syntax error: unexpected "("

в чем проб
  • Вопрос задан
  • 1062 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@mureevms
Под алпайн надо скомпилить под самим алпайном, т.к. в нем своя реализация libc. Сделайте это в самом контейнере.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Вы права на запуск файла выставили?
chmod +x main
Команду набираете, находясь в папке с бинарником?
Ответ написан
@gaxetasok
Дай угадаю - ты компилировал программу Go под Windows????
Тебе нужна кросс-компиляция

Укажи перед запуском компилятора переменные среды окружения
GOOS=linux
GOARCH=amd64 (если твоя Альпина 64-х битная)

Полученный файл будет прекрасно запускаться под Альпиной, но не будет запускаться под Виндой. Это нормально.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы