wzxwhxcz commited on
Commit
128ca58
·
verified ·
1 Parent(s): 1de7911

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +25 -0
Dockerfile ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 第一阶段:编译 Go 程序
2
+ FROM golang:1.21-alpine AS builder
3
+ WORKDIR /app
4
+ # 复制依赖文件并下载
5
+ COPY go.mod ./
6
+ # 如果有 go.sum 也要复制:COPY go.mod go.sum ./
7
+ RUN go mod download
8
+ # 复制所有源代码
9
+ COPY . .
10
+ # 编译程序(确保 main.go 在根目录)
11
+ RUN go build -o main .
12
+
13
+ # 第二阶段:运行镜像
14
+ FROM alpine:latest
15
+ WORKDIR /root/
16
+ # 从编译阶段复制二进制文件和 .env
17
+ COPY --from=builder /app/main .
18
+ COPY --from=builder /app/.env .
19
+ # 如果有其他静态资源文件夹(如 web),也要复制
20
+ COPY --from=builder /app/web ./web
21
+
22
+ # Hugging Face Spaces 默认使用 7860 端口
23
+ EXPOSE 7860
24
+ # 必须让你的 Go 程序监听 7860 端口
25
+ CMD ["./main"]