ckst commited on
Commit
bad2282
·
verified ·
1 Parent(s): 7b64a1b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +38 -32
Dockerfile CHANGED
@@ -1,43 +1,49 @@
1
- FROM golang:latest AS go-builder
2
 
3
- WORKDIR /build
4
- COPY go.mod go.sum ./
5
- RUN go mod download
6
- COPY . .
7
 
8
- # 解压 web-user/src.zip
9
- RUN apk add --no-cache unzip && \
10
- mkdir -p web-user && \
11
- unzip web-user/src.zip -d web-user && \
12
- rm web-user/src.zip
13
 
14
- # 解压 web-admin.zip
15
- RUN mkdir -p web-admin && \
16
- unzip web-admin.zip -d web-admin && \
17
- rm web-admin.zip
18
 
19
- # 构建 Go 二进制文件
20
- RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o bin/chat-api
 
 
 
21
 
22
- FROM nginx:alpine
 
 
 
23
 
24
- # 暴露服务端口
25
- EXPOSE 7860
26
 
27
- # 创建必要的目录
28
- RUN mkdir -p /data/logs && \
29
- mkdir -p /logs && \
30
- chmod -R 777 /data && \
31
- chmod -R 777 /logs
32
 
33
- # 配置 Nginx
34
- COPY nginx.conf /etc/nginx/nginx.conf
35
 
36
- # 复制编译后的二进制文件
37
- COPY --from=go-builder /build/bin/chat-api /chat-api
 
 
 
38
 
39
- # 启动脚本
40
- COPY start.sh /start.sh
41
- RUN chmod +x /start.sh
42
 
43
- CMD ["/start.sh"]
 
 
 
 
 
 
 
 
1
+ FROM golang:latest AS go-builder
2
 
3
+ # 设置工作目录
4
+ WORKDIR /build
 
 
5
 
6
+ # 复制依赖文件
7
+ COPY go.mod go.sum ./
8
+ RUN go mod download
 
 
9
 
10
+ # 复制所有源代码
11
+ COPY . .
 
 
12
 
13
+ # 安装 unzip 工具并解压 web-user/src.zip
14
+ RUN apt-get update && apt-get install -y unzip && \
15
+ mkdir -p web-user && \
16
+ unzip web-user/src.zip -d web-user && \
17
+ rm web-user/src.zip
18
 
19
+ # 解压 web-admin.zip
20
+ RUN mkdir -p web-admin && \
21
+ unzip web-admin.zip -d web-admin && \
22
+ rm web-admin.zip
23
 
24
+ # 构建 Go 二进制文件
25
+ RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o bin/chat-api
26
 
27
+ # 使用 Nginx 作为运行时环境
28
+ FROM nginx:alpine
 
 
 
29
 
30
+ # 暴露服务端口
31
+ EXPOSE 7860
32
 
33
+ # 创建必要的目录
34
+ RUN mkdir -p /data/logs && \
35
+ mkdir -p /logs && \
36
+ chmod -R 777 /data && \
37
+ chmod -R 777 /logs
38
 
39
+ # 配置 Nginx
40
+ COPY nginx.conf /etc/nginx/nginx.conf
 
41
 
42
+ # 复制编译后的二进制文件
43
+ COPY --from=go-builder /build/bin/chat-api /chat-api
44
+
45
+ # 启动脚本
46
+ COPY start.sh /start.sh
47
+ RUN chmod +x /start.sh
48
+
49
+ CMD ["/start.sh"]