# 第一阶段:编译 Go 程序 FROM golang:1.21-alpine AS builder WORKDIR /app # 复制依赖文件并下载 COPY go.mod ./ # 如果有 go.sum 也要复制:COPY go.mod go.sum ./ RUN go mod download # 复制所有源代码 COPY . . # 编译程序(确保 main.go 在根目录) RUN go build -o main . # 第二阶段:运行镜像 FROM alpine:latest WORKDIR /root/ # 从编译阶段复制二进制文件和 .env COPY --from=builder /app/main . COPY --from=builder /app/.env . # 如果有其他静态资源文件夹(如 web),也要复制 COPY --from=builder /app/web ./web # Hugging Face Spaces 默认使用 7860 端口 EXPOSE 7860 # 必须让你的 Go 程序监听 7860 端口 CMD ["./main"]