«standard_init_linu» x.go:228: пользовательский процесс exec вызвал: ошибка «нет такого файла или каталога» при запуске контейнера

Я ссылаюсь на distroless doc для создания образа. Вот мой докерфайл

      FROM golang:1.18 as build

WORKDIR /go/src/app
COPY . .
RUN go mod tidy
RUN CGO_ENABLED=1 go build -o ./proxy  ./proxy/proxy.go

FROM gcr.io/distroless/static-debian11
ENTRYPOINT ["proxy"]
COPY --from=build /go/src/app/proxy/proxy /usr/local/bin/

Но когда я создаю развертывание в k8s, контейнер регистрирует ошибку standard_init_linux.go: 228: вызванный пользовательский процесс exec: нет такого файла или каталога

Если я использую alpine в качестве базового образа и запускаю go build -tags musl для сборки исполняемого файла, контейнер может нормально работать.

Что мне делать, если я настаиваю на использовании distroless в качестве базового образа

Поскольку в этом проекте используется пакет confluent-kafka, для параметра CGO_ENABLED должно быть установлено значение 1.

0 ответов

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