# 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 ./cmd/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