standard_init_linux.go: 178: пользовательский процесс exec вызвал "ошибку формата exec" kubernetes - PullRequest
0 голосов
/ 10 июня 2018

Я знаю, что с этой проблемой сталкивались многие люди, но ни один из приведенных ответов не решил мою проблему.

Рабочий процесс

  • Я запускаю все свои докеры в кластере kubernetes (облако Google).
  • Я настроил compilation_trigger для автоматической сборки моего dockerfile, когда я фиксирую в своей мастер-ветке на github.
  • Затем я обновляю свое развертывание kubernetes с помощью kubectl set image deployment/MYPROJECT MYPROJECT=eu.gcr.io/foo/MYPROJECT:$TRAVIS_COMMIT

Что не так?

Мой модуль остается в crashloop back-off и в журналах, которые я читаю: standard_init_linux.go:178: exec user process caused "exec format error"

Немного контекста

Мой рабочий процессработал до начала июня 2018 года, я не понимаю, в чём дело, поэтому я искал в интернете, изменил мой dockerfile, обновил мои зависимости, изменил версию базового образа dockerfile и т. д ... Ничего не работает

Dockerfile

FROM golang:1.10-alpine3.7 AS builder
ADD . /go/src/github.com/foo/MYPROJECT
WORKDIR /go/src/github.com/foo/MYPROJECT/api
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -a -installsuffix cgo -o /go/bin/api

FROM alpine:3.7
RUN apk --no-cache add ca-certificates
COPY --from=builder /go/bin/api /go/bin/api
COPY --from=builder /go/src/github.com/foo/MYPROJECT/api/sql /go/migrations/sql
COPY --from=builder /go/src/github.com/foo/MYPROJECT/api/.docs/swagger.yml /static/swagger.yml
RUN chmod +x /go/bin/api
ENTRYPOINT ["/go/bin/api"]

[РЕДАКТИРОВАТЬ: 12 июня]

Я заметил, что размер образа докера изменился с 6.3 Mo до 2.3 Mo, когда возникла проблема.Я подозреваю, что обновление от Alpine, я продолжаю исследовать.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Хотя это и не решение этого вопроса, другой причиной может быть, если ваша команда представляет собой сценарий без Шебанга.

0 голосов
/ 12 июня 2018

Хорошо, я нашел проблему.Я выкладываю это здесь, на случай, если кто-то такой же глупый, как я.Я внес изменения в свой репозиторий github, превратив 1 проект / микросервисы в 1 монорэпо для каждого микросервиса.Во время рефакторинга у меня не было пакета main в моем api микросервисе, и сборка go НЕ СБОЛА, но записала файл 90 Ko в месте назначения вывода.

РЕШЕНИЕ

Убедитесь, что у меня есть основной пакет

Я чувствую себя действительно глупо, но эй, это случается со всеми.

Спасибо комментаторам, вы были правы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...