32 lines
775 B
Docker
32 lines
775 B
Docker
FROM golang:1.22.4-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
|
|
|
|
ADD go.mod .
|
|
ADD go.sum .
|
|
RUN go mod download
|
|
COPY . .
|
|
COPY app/user/cmd/api/etc /app/etc
|
|
RUN go build -ldflags="-s -w" -o /app/user app/user/cmd/api/main.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
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/user /app/user
|
|
COPY --from=builder /app/etc /app/etc
|
|
|
|
CMD ["./user", "-f", "etc/main.yaml"]
|