zendercode / Dockerfile
wzxwhxcz's picture
Update Dockerfile
bc32bb6 verified
raw
history blame contribute delete
686 Bytes
# 第一阶段:编译
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"]