wzxwhxcz commited on
Commit
a4f88a1
·
verified ·
1 Parent(s): fa068cc

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -9
Dockerfile CHANGED
@@ -1,22 +1,30 @@
1
  # 第一阶段:编译
2
  FROM golang:1.21-alpine AS builder
 
 
 
 
3
  WORKDIR /app
4
- # 复制所有文件(包括 go.mod)
 
5
  COPY . .
6
- # 下载依赖
7
- RUN go mod download
8
- # 强制指定在当前目录编译(请确保 main.go 在根目录,或者修改路径)
 
 
9
  RUN go build -o main .
10
 
11
  # 第二阶段:运行
12
  FROM alpine:latest
 
 
 
13
  WORKDIR /root/
14
- # 只复制确定的二进制文件
15
  COPY --from=builder /app/main .
16
- # 如果你有 web 文件夹才取消下面这行的注释
17
- # COPY --from=builder /app/web ./web
18
 
19
- # 暴露端口
20
  EXPOSE 7860
21
- # 启动
22
  CMD ["./main"]
 
1
  # 第一阶段:编译
2
  FROM golang:1.21-alpine AS builder
3
+
4
+ # 安装 git,因为 go mod tidy 可能需要拉取仓库
5
+ RUN apk add --no-cache git
6
+
7
  WORKDIR /app
8
+
9
+ # 复制所有文件
10
  COPY . .
11
+
12
+ # 【关键步骤】在云端环境强制整理依赖并生成 go.sum
13
+ RUN go mod tidy
14
+
15
+ # 编译程序
16
  RUN go build -o main .
17
 
18
  # 第二阶段:运行
19
  FROM alpine:latest
20
+ # 如果你的程序用了 sqlite,建议安装基本运行库
21
+ RUN apk add --no-cache ca-certificates libc6-compat
22
+
23
  WORKDIR /root/
 
24
  COPY --from=builder /app/main .
25
+ # 如果你有 .env 文件且已上传,取消下面这行注释
26
+ # COPY --from=builder /app/.env .
27
 
28
+ # Hugging Face 必须使用 7860 端口
29
  EXPOSE 7860
 
30
  CMD ["./main"]