30 lines
777 B
Docker
30 lines
777 B
Docker
FROM golang:1.19-alpine AS builder
|
|
|
|
ENV GO111MODULE=on
|
|
ENV GOPROXY="https://goproxy.io"
|
|
RUN mkdir /app
|
|
WORKDIR /app
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download && go mod verify
|
|
ADD . /app
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -tags=jsoniter -v -o server .
|
|
|
|
FROM alpine:latest AS production
|
|
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories
|
|
RUN apk add --no-cache tzdata
|
|
RUN apk update \
|
|
&& apk upgrade \
|
|
&& apk add --no-cache bash \
|
|
bash-doc \
|
|
bash-completion \
|
|
&& rm -rf /var/cache/apk/* \
|
|
ENV TZ=Asia/Shanghai
|
|
RUN mkdir /app
|
|
WORKDIR /app
|
|
VOLUME ["/app/log"]
|
|
COPY --from=builder /app/server .
|
|
COPY settings.yaml .
|
|
COPY regions.csv .
|
|
RUN mkdir /app/assets
|
|
COPY ./assets/* /app/assets
|
|
CMD ["./server"] |