簡體   English   中英

Go 多級 docker 構建失敗,standard_init_linux.go:228:導致執行用戶進程:沒有這樣的文件或目錄

[英]Go multistage docker build fails with standard_init_linux.go:228: exec user process caused: no such file or directory

我關注了幾篇文章和示例,包括來自官方 Docker 示例的多階段構建示例。

這是我的 Dockerfile:

# build stage
FROM golang:1.16-buster AS builder
WORKDIR /src
COPY go.mod ./
COPY go.sum ./
RUN go mod download
COPY *.go ./
COPY dev.env ./
RUN go build

# exec stage
FROM alpine:3.15
WORKDIR /app
COPY --from=builder /src/tendies-cli /app/
ENTRYPOINT [ "./tendies-cli" ]
CMD [ "reset", "refill" ]

每次我 docker 運行它都會返回

standard_init_linux.go:228: exec user process caused: no such file or directory

但即使我使用docker run -it cli /bin/sh在交互式 shell 模式下運行它,我也可以看到可執行文件在那里。 我是 docker 新手,所以任何建議都會很棒。

我在 MacOS Big Sur 和 Docker Engine 20.10.11 CE 上運行

嘗試使用這些命令構建

GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"

我在嘗試構建極簡主義 docker 映像並在 docker 從頭開始運行時也遇到了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM