From 17e1964bcd5a4ff9d298e9b32f84ef8323d3f3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 16 Aug 2022 15:06:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(download):=E5=A2=9E=E5=8A=A0=E8=99=8E?= =?UTF-8?q?=E6=A0=87=E6=A1=A3=E6=A1=88=E6=A8=A1=E6=9D=BF=E7=9A=84=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=EF=BC=8C=E5=B9=B6=E5=9C=A8Docker=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E4=B8=AD=E5=8A=A0=E5=85=A5=E4=B8=8B=E8=BD=BD=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 9 ++++++ assets/meter_04kv_template.xlsx | Bin 0 -> 10519 bytes controller/meter04kv.go | 53 ++++++++++++++++++++++++++++++++ router/router.go | 1 + 4 files changed, 63 insertions(+) create mode 100644 assets/meter_04kv_template.xlsx create mode 100644 controller/meter04kv.go diff --git a/Dockerfile b/Dockerfile index e819cec..425c401 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,11 +10,20 @@ ADD . /app RUN CGO_ENABLED=0 GOOS=linux go build -tags=jsoniter -v -o server . FROM alpine:latest AS production +RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories RUN apk add --no-cache tzdata +RUN apk update \ + && apk upgrade \ + && apk add --no-cache bash \ + bash-doc \ + bash-completion \ + && rm -rf /var/cache/apk/* \ ENV TZ=Asia/Shanghai RUN mkdir /app WORKDIR /app COPY --from=builder /app/server . COPY settings.yaml . COPY regions.csv . +RUN mkdir /app/assets +COPY ./assets/* /app/assets CMD ["./server"] \ No newline at end of file diff --git a/assets/meter_04kv_template.xlsx b/assets/meter_04kv_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4221156c6c95ee4e555a7d7a19d51d404a662166 GIT binary patch literal 10519 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 R)M