FROM golang:1.25.8-alpine3.23 AS builder # 设置工作目录 WORKDIR /app # 安装 git RUN apk add --no-cache git # 设置 Go 环境变量 ENV GOPROXY=https://goproxy.io,direct ENV GOSUMDB=off # 复制共享包 COPY shared/ /shared/ # 复制 go.mod COPY services/user-svc/go.mod ./ # 复制 go.sum(如果存在) COPY services/user-svc/go.sum* ./ # 复制源代码 COPY services/user-svc/ . # 生成 go.sum 并下载依赖 RUN go mod tidy # 构建应用 RUN go build -o user-svc ./cmd/main.go # 运行阶段 FROM alpine:3.23 # 安装必要的依赖 RUN apk add --no-cache ca-certificates # 设置工作目录 WORKDIR /app # 从构建阶段复制二进制文件 COPY --from=builder /app/user-svc . # 暴露端口 EXPOSE 9000 # 启动应用 CMD ["./user-svc"]