standard_init_linux.go:228: exec user process caused: no such file or directory
非常基础的多规格构建
# syntax=docker/dockerfile:1
# 第一行注释时可选的,会告诉 Docker 构建器在解析 dockerfile 时使用什么语法
# build 阶段
# 基础镜像
FROM golang:alpine AS build
# 创建 /app 目录,并指定为默认工作路径,之后我们就可以使用基于此目录的相对路径进行操作
WORKDIR /app
# 复制 go.mod 和 go.sum 文件
COPY go.mod ./
COPY go.sum ./
# 安装依赖
RUN GOPROXY="https://goproxy.io,direct" go mod download
# 复制文件到镜像中?这步不太理解
COPY *.go ./
ENV CGO_ENABLED=0
# build,指定输出目录
RUN go build -o /docker-test
FROM scratch as prod
WORKDIR /
COPY --from=build ./docker-test /docker-test
EXPOSE 8080
ENTRYPOINT [ "/docker-test" ]
问题出现在需要在 21 行添加 CGO_ENABLED = 0