You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
# vue build
|
|
FROM node:12.16.1 as builder
|
|
WORKDIR /web/
|
|
COPY ./package.json package.json
|
|
COPY ./yarn.lock yarn.lock
|
|
RUN yarn config set registry http://registry.npm.taobao.org/
|
|
RUN yarn
|
|
COPY ./ .
|
|
RUN yarn build
|
|
COPY ./html.go_bak dist/html.go
|
|
|
|
# golang build
|
|
FROM golang:1.17.8-alpine3.15 AS go-builder
|
|
RUN echo -e http://mirrors.ustc.edu.cn/alpine/v3.13/main/ > /etc/apk/repositories
|
|
RUN apk add --update --no-cache make g++ git
|
|
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct \
|
|
GO111MODULE=on \
|
|
CGO_ENABLED=1
|
|
RUN mkdir -p /app
|
|
WORKDIR /app
|
|
COPY go.mod .
|
|
COPY go.sum .
|
|
RUN go mod download
|
|
COPY --from=builder /web/dist /dist
|
|
COPY main.go main.go
|
|
RUN go build -ldflags "-w -s" -o json-gen main.go
|
|
|
|
# runtime
|
|
FROM alpine:latest
|
|
RUN echo -e http://mirrors.ustc.edu.cn/alpine/v3.13/main/ > /etc/apk/repositories
|
|
COPY --from=go-builder /usr/local/go/lib/time/zoneinfo.zip /opt/zoneinfo.zip
|
|
ENV ZONEINFO /opt/zoneinfo.zip
|
|
RUN apk add --no-cache gettext tzdata && \
|
|
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
echo "Asia/Shanghai" > /etc/timezone && \
|
|
date && \
|
|
apk del tzdata
|
|
WORKDIR /app
|
|
COPY --from=go-builder /app/json-gen /app/json-gen
|
|
EXPOSE 8000
|
|
ENTRYPOINT ./json-gen
|