# 构建阶段 FROM golang:1.23-alpine AS builder WORKDIR /app COPY go.mod go.sum* ./ RUN go mod download 2>/dev/null || true COPY . . RUN go build -ldflags="-s -w" -o mirror-proxy ./cmd/main.go # 运行阶段 FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /app # 创建必要目录 RUN mkdir -p web/static cache config # 复制编译后的二进制文件和静态资源 COPY --from=builder /app/mirror-proxy . COPY --from=builder /app/web/static ./web/static # 暴露默认端口 EXPOSE 8080 VOLUME ["/app/cache"] ENTRYPOINT ["./mirror-proxy"]