diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..095b281966447d71ae99c38d0f437b49d14a4d71 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +# å£°æ˜Žé•œåƒæ¥æºä¸º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 \ No newline at end of file diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000000000000000000000000000000000000..7b4e6673359f8077f329b552e91f21a25c5e7856 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git pull +docker-compose up --build -d +docker image prune -f \ No newline at end of file diff --git a/docekr-compose.yaml b/docekr-compose.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dff300e1d3de432b21e58e9127ca751bd68cf2ba --- /dev/null +++ b/docekr-compose.yaml @@ -0,0 +1,18 @@ +version: "3.5" +services: + im_pool_dev: + restart: always + build: + context: . + args: + ENVARG: dev + dockerfile: Dockerfile + image: im_pool:dev + ports: + - 11001:11001 + networks: + - diagnosis_network + +networks: + diagnosis_network: + driver: bridge \ No newline at end of file