fix: integrate docker file with go build

This commit is contained in:
lab 2024-05-14 13:36:40 +08:00
parent d3dd27c62e
commit 80c3bf151f

View File

@ -1,13 +1,26 @@
FROM alpine:latest as builder FROM golang:1.22-alpine as builder
ADD . ./src
WORKDIR /go/src
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& apk --no-cache add ca-certificates && apk --no-cache add ca-certificates \
&& go env -w GOPROXY='https://goproxy.cn,direct' \
&& go mod tidy \
&& CGO_ENABLED=0 GOOS="linux" GOARCH="amd64" \
go build \
-ldflags="-s -w" \
-tags timetzdata \
-v \
-o /app \
./cmd/cert-exporter
FROM scratch as production FROM scratch as production
ENV TZ="Asia/Shanghai" ENV TZ="Asia/Shanghai"
COPY ./build/app / COPY --from=builder /app /
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
CMD ["/app"] CMD ["/app"]