Spaces:
Running
Running
| # 第一阶段:编译 | |
| FROM golang:1.21-alpine AS builder | |
| RUN apk add --no-cache git | |
| WORKDIR /app | |
| COPY . . | |
| RUN go mod tidy | |
| RUN go build -o main . | |
| # 第二阶段:运行 | |
| FROM alpine:latest | |
| # 安装必要运行库 | |
| RUN apk add --no-cache ca-certificates libc6-compat | |
| WORKDIR /root/ | |
| # 从编译阶段复制文件 | |
| COPY --from=builder /app/main . | |
| COPY --from=builder /app/web ./web | |
| # --- 关键点:设置环境变量 --- | |
| # 强制让 main.go 中的 os.Getenv("PORT") 获取到 7860 | |
| ENV PORT=7860 | |
| # 如果你的数据库需要持久化,可以设置这个(Space 重启会重置,后续建议用 Secret) | |
| ENV DB_PATH=/tmp/data.db | |
| # 暴露端口 | |
| EXPOSE 7860 | |
| # 启动 | |
| CMD ["./main"] | |