# 构建阶段 FROM golang:1.21-alpine AS builder WORKDIR /app # 安装依赖 RUN apk add --no-cache git # 复制 go.mod 和 go.sum COPY go.mod go.sum ./ RUN go mod download # 复制源代码 COPY . . # 构建 RUN CGO_ENABLED=0 GOOS=linux go build -o /server ./cmd/api # 运行阶段 FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /app # 复制构建产物 COPY --from=builder /server . COPY config/ ./config/ EXPOSE 8080 CMD ["./server"]