moonjoker commited on
Commit
b28814e
1 Parent(s): a1fc61a

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -0
Dockerfile ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # build stage
2
+ #使用golang:alpine作为构建阶段的基础镜像
3
+ FROM golang:alpine As builder
4
+
5
+ #添加git,以便之后能从GitHub克隆项目
6
+ RUN apk --no-cache add git
7
+
8
+ #从GitHub克隆go-proxy-bingai项目到/workspace/app目录下
9
+ RUN git clone https://github.com/Harry-zklcdc/go-proxy-bingai.git /workspace/app
10
+
11
+ #设置工作目录为之前克隆的项目目录
12
+ WORKDIR /workspace/app
13
+
14
+ #编译go项目。-ldflags="-s -w”是为了减少编译后的二进制大小
15
+ RUN go build -ldflags="-s -w" -tags netgo -trimpath -o go-proxy-bingai main.go
16
+
17
+ #Runtime Stage
18
+ #使用轻量级的alpine镜像作为运行时的基础镜像
19
+ FROM alpine
20
+
21
+ #设置工作目录
22
+ WORKDIR /workspace/app
23
+
24
+ #从构建阶段复制编译后的二进制文件到运行时镜像中
25
+ COPY --from=builder /workspace/app/go-proxy-bingai .
26
+
27
+ #设置环境变量,此处为随机字符
28
+ ENV Go_Proxy_BingAI_USER_TOKEN_1="aaaahD92ncMzLaoQWYtX5rG6bE3fZ4i0"
29
+
30
+ #暴露8080端口
31
+ EXPOSE 8080
32
+
33
+ #容器启动时运行的命令
34
+ CMD ["/workspace/app/go-proxy-bingai"]