# build stage #使用golang:alpine作为构建阶段的基础镜像 FROM golang:alpine As builder #添加git,以便之后能从GitHub克隆项目 RUN apk --no-cache add git #从GitHub克隆go-proxy-bingai项目到/workspace/app目录下 RUN git clone https://github.com/Harry-zklcdc/go-proxy-bingai.git /workspace/app #设置工作目录为之前克隆的项目目录 WORKDIR /workspace/app #编译go项目。-ldflags="-s -w”是为了减少编译后的二进制大小 RUN go build -ldflags="-s -w" -tags netgo -trimpath -o go-proxy-bingai main.go #Runtime Stage #使用轻量级的alpine镜像作为运行时的基础镜像 FROM alpine #设置工作目录 WORKDIR /workspace/app #从构建阶段复制编译后的二进制文件到运行时镜像中 COPY --from=builder /workspace/app/go-proxy-bingai . #设置环境变量,此处为随机字符 ENV Go_Proxy_BingAI_USER_TOKEN_1="aaaahD92ncMzLaoQWYtX5rG6bE3fZ4i0" #暴露8080端口 EXPOSE 8080 #容器启动时运行的命令 CMD ["/workspace/app/go-proxy-bingai"]