dockerfile_server 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. FROM node:12.16.1 as gva-web
  2. WORKDIR /gva_web/
  3. COPY web/ .
  4. RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
  5. RUN cnpm install || npm install
  6. RUN npm run build
  7. FROM golang:alpine as gva-server
  8. ENV GO111MODULE=on
  9. ENV GOPROXY=https://goproxy.io,direct
  10. WORKDIR /go/src/gin-vue-admin
  11. COPY server/ ./
  12. RUN go env && go list && go build -o gva-server .
  13. FROM nginx:alpine
  14. LABEL MAINTAINER="SliverHorn"
  15. WORKDIR gva/
  16. # copy web
  17. COPY --from=gva-web /gva_web/dist ./resource/dist
  18. # copy server
  19. COPY --from=gva-server /go/src/gin-vue-admin/gva-server ./
  20. COPY --from=gva-server /go/src/gin-vue-admin/config.yaml ./
  21. COPY --from=gva-server /go/src/gin-vue-admin/resource ./resource
  22. EXPOSE 8888
  23. ENTRYPOINT ./gva-server
  24. # 根据Dockerfile生成Docker镜像
  25. # docker build -t gva-server:1.0 .
  26. #- 根据Docker镜像启动Docker容器
  27. # - 后台运行
  28. # - ```
  29. # docker run -d -p 8888:8888 --name gva-server-v1 gva-server:1.0
  30. # ```
  31. # - 以可交互模式运行, Ctrl + p + q
  32. # - ```
  33. # docker run -it -p 8888:8888 --name gva-server-v1 gva-server:1.0
  34. # ```