Dockerfile 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # 基础镜像
  2. # nodejs请勿使用alpine版本,以免出现依赖安装失败的问题
  3. FROM node:20-alpine as build-stage
  4. LABEL maintainer=jnpf-team
  5. # 设置时区
  6. ENV TZ=Asia/Shanghai
  7. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  8. # 指定临时工作目录
  9. WORKDIR /temp
  10. # 安装pnpm
  11. RUN npm install -g pnpm@9.9.0 --registry=https://registry.npmmirror.com
  12. # 复制项目
  13. COPY . .
  14. # 安装依赖
  15. RUN pnpm install --registry https://registry.npmmirror.com
  16. # 构建项目
  17. RUN pnpm build
  18. # 基础镜像
  19. FROM nginx:stable-alpine as production-stage
  20. # 指定运行时的工作目录
  21. ## 特别说明:
  22. ## 1、/data/jnpfsoft/jnpf-web-vue3 需要与 jnpf-web-vue3 中Dockerfile中的目录一致
  23. ## 2、DataV为子目录,请勿修改
  24. ENV WORKDIR /data/jnpfsoft/jnpf-web-vue3/DataV
  25. WORKDIR $WORKDIR
  26. # 将构建文件拷贝到运行时目录中
  27. COPY --from=build-stage /temp/dist ${WORKDIR}
  28. # 复制Nginx配置
  29. COPY deploy/default.conf /etc/nginx/conf.d/
  30. # 指定容器内运行端口
  31. EXPOSE 80