app_1 | standard_init_ linux. go: 211: exe c пользовательский процесс вызвал «ошибку формата exe c» - PullRequest
0 голосов
/ 11 июля 2020

У меня есть приложение golang, и я создал файл dockerfile, который делает сборку с несколькими ставками. Но я ловлю эту ошибку app_1 | standard_init_linux.go:211: exec user process caused "exec format error" каждый раз, когда пытаюсь сделать docker-compose up. Dockerfile:


# Start from the latest golang base image
FROM golang:1.13 as builder

# Set the Current Working Directory inside the container
WORKDIR /memesbot

# Copy go mod and sum files
COPY go.mod go.sum ./

# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed
RUN go mod download

# Copy the source from the current directory to the Working Directory inside the container
COPY . .

# Build the Go app
RUN go build -o /memesbot/cmd/main .

######## Start a new stage from scratch #######
FROM alpine:latest


RUN apk --no-cache add ca-certificates

WORKDIR /root/

# Copy the Pre-built binary file from the previous stage
COPY --from=builder /memesbot/cmd/main .

RUN chmod +x ./main

# Command to run the executable
CMD ["./main"]

и docker -compose:

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "7777:7777"
    environment:
      TELEGRAM_TOKEN: xxxx

Как исправить эту ошибку?

...