Mmeilin.huangfeat: v1.11.0
847f5c7c创建于 5月13日历史提交
# 构建前端资源
FROM m.daocloud.io/docker.io/node:22-bookworm-slim AS fe-builder

WORKDIR /mayfly

COPY frontend .

RUN npm config set registry 'https://registry.npmmirror.com' && \
    npm install && \
    npm run build

# 构建后端资源
FROM m.daocloud.io/docker.io/golang:1.26 AS be-builder

ENV GOPROXY https://goproxy.cn
WORKDIR /mayfly

# Copy the go source for building server
COPY server .

RUN go mod tidy && go mod download

COPY --from=fe-builder /mayfly/dist /mayfly/static/static

# Build
RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux \
    go build -a -ldflags=-w \
    -o mayfly-go main.go

FROM m.daocloud.io/docker.io/alpine:3.20.2

ARG TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

WORKDIR /mayfly-go

COPY --from=be-builder /mayfly/mayfly-go /usr/local/bin/mayfly-go

CMD ["mayfly-go"]