Как запустить бинарник в 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 "("

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

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

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

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

Войти через центр авторизации
Похожие вопросы