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
FROM golang:alpine as builder
|
|
RUN apk add --update --no-cache yarn make g++
|
|
RUN yarn global add cross-env node-sass
|
|
|
|
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct \
|
|
GO111MODULE=on \
|
|
CGO_ENABLED=1
|
|
WORKDIR /go/src/gin-vue-admin
|
|
RUN go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
|
|
COPY server/ ./
|
|
RUN go env && go list && go build -v -a -ldflags "-extldflags \"-static\" " -o gvadmin .
|
|
|
|
WORKDIR /web
|
|
COPY web/ ./
|
|
RUN yarn install && yarn run build
|
|
|
|
|
|
FROM nginx:alpine
|
|
LABEL MAINTAINER="rikugun"
|
|
|
|
RUN apk add --no-cache gettext tzdata && \
|
|
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
echo "Asia/Shanghai" > /etc/timezone && \
|
|
date && \
|
|
apk del tzdata
|
|
|
|
COPY docker/etc/nginx/nginx.conf.tpl /etc/nginx/nginx.conf.tpl
|
|
WORKDIR /app
|
|
#copy web
|
|
COPY --from=builder /web/dist/ /var/www/
|
|
#copy go app
|
|
COPY --from=builder /go/src/gin-vue-admin/gvadmin ./
|
|
COPY --from=builder /go/src/gin-vue-admin/db.db ./
|
|
COPY --from=builder /go/src/gin-vue-admin/config.yaml ./
|
|
COPY --from=builder /go/src/gin-vue-admin/resource ./resource
|
|
COPY docker/docker-start.sh ./
|
|
|
|
ENV API_SERVER="http://localhost:8888/"
|
|
EXPOSE 80
|
|
|
|
ENTRYPOINT ["./docker-start.sh"]
|