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

# 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