无法使用 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" ]登录后复制