# 声明镜像来源为golang:alpine FROM golang:alpine # 设置环境变量GO111MODULE为on ENV GO111MODULE=on # 设置环境变量GOPROXY为https://goproxy.io,direct ENV GOPROXY=https://goproxy.cn,direct # 声明工作目录 WORKDIR /go/src/im-poll # 拷贝server项目到工作目录 COPY . . # go env为查看go的环境变量, go build -o server . 为打包项目,二进制 RUN go env && go build -o server ws_server.go # ======= 以下为多阶段构建 ======= # 声明镜像来源为alpine:latest FROM alpine:latest ENV TZ=Asia/Shanghai RUN echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories \ && apk --no-cache add tzdata zeromq \ && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ && echo '$TZ' > /etc/timezone # 声明工作目录 WORKDIR /go/src/im-poll # 拷贝打包好的server二进制文件到当前工作目录 COPY --from=0 /go/src/im-poll/server ./ # 拷贝config.yaml配置文件到当前工作目录 # COPY --from=0 /go/src/gin-vue-admin/config.yaml ./ # 运行打包好的二进制 ENTRYPOINT ./server