繁体   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