FROM golang:1.26-alpine AS builder WORKDIR /app # 设置 Alpine 国内镜像源 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories RUN apk add --no-cache gcc musl-dev COPY go.mod go.sum ./ # 设置 Go 国内镜像源(多备用源) RUN go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct && \ go env -w GOSUMDB=off && \ go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o server ./cmd/server FROM alpine:latest # 设置 Alpine 国内镜像源 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories RUN apk --no-cache add ca-certificates WORKDIR /app COPY --from=builder /app/server . EXPOSE 3100 CMD ["./server"]