2023-07-22 01:43:01 +08:00
|
|
|
# 构建前端资源
|
2023-12-27 22:59:20 +08:00
|
|
|
FROM node:18-bookworm-slim as fe-builder
|
2023-07-22 01:43:01 +08:00
|
|
|
|
|
|
|
|
WORKDIR /mayfly
|
|
|
|
|
|
|
|
|
|
COPY mayfly_go_web .
|
|
|
|
|
|
2024-01-23 09:27:05 +08:00
|
|
|
RUN yarn config set registry 'https://registry.npmmirror.com' && \
|
2024-01-15 20:11:28 +08:00
|
|
|
yarn install && \
|
|
|
|
|
yarn build
|
2023-07-22 01:43:01 +08:00
|
|
|
|
|
|
|
|
# 构建后端资源
|
2023-12-27 22:59:20 +08:00
|
|
|
FROM golang:1.21.5 as be-builder
|
2023-07-22 01:43:01 +08:00
|
|
|
|
|
|
|
|
ENV GOPROXY https://goproxy.cn
|
|
|
|
|
WORKDIR /mayfly
|
|
|
|
|
|
|
|
|
|
# Copy the go source for building server
|
|
|
|
|
COPY server .
|
|
|
|
|
|
2023-11-30 15:02:48 +08:00
|
|
|
RUN go mod tidy && go mod download
|
2023-07-22 01:43:01 +08:00
|
|
|
|
|
|
|
|
COPY --from=fe-builder /mayfly/dist /mayfly/static/static
|
|
|
|
|
|
|
|
|
|
# Build
|
|
|
|
|
RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux \
|
2024-01-18 17:18:17 +08:00
|
|
|
go build -a -ldflags=-w \
|
2023-07-22 01:43:01 +08:00
|
|
|
-o mayfly-go main.go
|
|
|
|
|
|
2023-12-27 22:59:20 +08:00
|
|
|
FROM debian:bookworm-slim
|
2023-07-22 01:43:01 +08:00
|
|
|
|
2023-12-27 22:59:20 +08:00
|
|
|
RUN apt-get update && \
|
|
|
|
|
apt-get install -y ca-certificates expat libncurses5 && \
|
|
|
|
|
apt-get clean
|
2023-07-22 01:43:01 +08:00
|
|
|
|
2023-08-25 10:20:32 +08:00
|
|
|
ENV TZ=Asia/Shanghai
|
2023-08-31 21:49:20 +08:00
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
2023-08-25 10:20:32 +08:00
|
|
|
|
2023-07-22 01:43:01 +08:00
|
|
|
WORKDIR /mayfly
|
|
|
|
|
|
|
|
|
|
COPY --from=be-builder /mayfly/mayfly-go /usr/local/bin/mayfly-go
|
|
|
|
|
|
|
|
|
|
CMD ["mayfly-go"]
|