FROM golang:1.21-alpine AS builder WORKDIR /app # 安装必要的工具 RUN apk add --no-cache git gcc musl-dev # 复制go.mod和go.sum COPY go.mod go.sum ./ RUN go mod download # 复制源代码 COPY . . # 构建应用 RUN go build -o main ./cmd/server # 运行阶段 FROM alpine:latest RUN apk --no-cache add ca-certificates tzdata WORKDIR /root/ # 复制时区配置 ENV TZ=Asia/Shanghai # 复制可执行文件 COPY --from=builder /app/main . # 暴露端口 EXPOSE 8080 8081 # 运行应用 CMD ["./main"]