2025-04-19 15:59:31 +08:00
|
|
|
# 第一阶段:构建
|
2025-12-20 15:15:54 +08:00
|
|
|
FROM golang:1.25.3 AS builder
|
|
|
|
|
WORKDIR /build
|
2025-04-19 15:59:31 +08:00
|
|
|
|
2025-04-19 18:15:46 +08:00
|
|
|
ENV GOPROXY=https://goproxy.cn,direct
|
2025-12-20 15:15:54 +08:00
|
|
|
ENV CGO_ENABLED=0
|
|
|
|
|
ENV GOOS=linux
|
|
|
|
|
ENV GOARCH=amd64
|
2025-04-19 18:15:46 +08:00
|
|
|
|
2025-04-19 15:59:31 +08:00
|
|
|
COPY go.mod go.sum ./
|
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
|
|
COPY . .
|
2025-12-20 15:15:54 +08:00
|
|
|
RUN go build -ldflags '-w -s' -o bin/platform_linux_amd64 cmd/main/main.go
|
2025-04-19 15:59:31 +08:00
|
|
|
|
|
|
|
|
# 第二阶段:运行环境
|
2025-12-20 15:15:54 +08:00
|
|
|
FROM alpine:3.23 AS runner
|
2025-04-03 17:04:31 +08:00
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-12-20 15:15:54 +08:00
|
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
|
|
|
|
|
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
|
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
2025-04-22 13:03:41 +08:00
|
|
|
|
2025-04-19 15:59:31 +08:00
|
|
|
COPY --from=builder /build/bin/platform_linux_amd64 /app/platform
|
|
|
|
|
|
2025-04-03 17:04:31 +08:00
|
|
|
RUN chmod +x /app/platform
|
|
|
|
|
|
2025-05-10 10:07:10 +08:00
|
|
|
EXPOSE 8080
|
2025-04-03 17:04:31 +08:00
|
|
|
|
2025-12-20 15:15:54 +08:00
|
|
|
CMD ["/app/platform"]
|