FROM golang:1.17 as builder ENV GO111MODULE on ENV GOPROXY https://goproxy.io,direct WORKDIR /go/cache ADD go.mod . ADD go.sum . RUN go mod download -x WORKDIR /go/src ADD . . RUN go mod tidy RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o api_{{ .Name }} ./{{ .Root }} FROM reg.icechen.cn/alpine as {{ .Name }} WORKDIR /go/src COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo COPY --from=builder /go/src/api_{{ .Name }} ./ ENV TZ=Asia/Shanghai RUN chmod +x ./api_{{ .Name }} EXPOSE 8080 CMD ["./api_{{ .Name }}"]