无法使用 docker 多阶段构建执行 go 二进制文件

无法使用 docker 多阶段构建执行 go 二进制文件

问题内容

我尝试按如下方式构建 go 应用程序,我的 main.go 文件位于 cmd/app/main.go。

但是,当我尝试运行 docker build --no-cache .docker 运行 时。 它给了我 exec ./bin/app: 没有这样的文件或目录

我已经测试过运行 go build -o ./bin/app ./cmd/app./bin/app 能够正确运行。

这是我的 dockerfile

# build phase from golang:1.20 as builder workdir /app copy go.mod go.sum ./ run go mod download && go mod verify copy . . run go build -o ./bin/app ./cmd/app 1. production phase from alpine:3.14 workdir /app copy --from=builder /app/bin/app ./bin/app entrypoint [ "./bin/app" ]登录后复制