FROM golang:alpine AS builder LABEL stage=gobuilder ENV CGO_ENABLED 0 ENV GOPROXY https://goproxy.cn,direct RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk update --no-cache && apk add --no-cache tzdata WORKDIR /build RUN mkdir -p /tmp && chmod 1777 /tmp ADD go.mod . ADD go.sum . RUN go mod download COPY . . COPY apps/gateway/etc /app/etc RUN go build -ldflags="-s -w" -o /app/gateway apps/gateway/gateway.go FROM scratch COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai ENV TZ Asia/Shanghai COPY --from=builder /tmp /tmp WORKDIR /app COPY --from=builder /app/gateway /app/gateway COPY --from=builder /app/etc /app/etc CMD ["./gateway", "-f", "etc/gateway-api.yaml"]